Logo Bases de données
Français     English

Applications des Bases de Données en Sciences Humaines et Sociales

Introduction
Sociologie
Démographie
Psychologie
Géographie
Conception BD
SQL
Télécharger
Liens
Questions, commentaires, suggestions ?


Le langage SQL


Cette présentation n'est pas un cours exhaustif sur SQL, mais une première approche du langage et de ses principales fonctionnalités.  L'apprentissage du langage est facilité grâce au couplage avec un SGBD relationnel qui permet un traitement interactif des requêtes.
Pour un apprentissage plus approfondi du language SQL, téléchargez IBEasy+, logiciel de conception, d'administration et d'utilisation de Bases de Données relationnelles.

Toutes les interrogations se rapportent à la base de données "ETUDIANTS" créée sous la rubrique Conception BD et dont le schéma des données est accessible au niveau de chaque requête interactive.

Caractéristiques du langage

SQL (Structured Query Language) est le langage unique qui permet de décrire, manipuler, contrôler l'accès et interroger les bases de données relationnelles.
C'est un langage déclaratif, qui s'adresse à la fois aux utilisateurs "novices" et aux programmeurs confirmés. Il est régi par une norme (ANSI/ISO) qui assure la portabilité du langage sur différentes plates-formes aussi bien matérielles que logicielles. Une commande SQL écrite dans un environnement Windows sous ACCESS peut, souvent sans modification, être utilisée directement dans un environnement ORACLE sous Unix...

Les commandes SQL 

Catégorie Commandes SQL
Description des données (DDL)
CREATE
Création de tables
ALTER
Modification de tables
DROP
Suppression de tables
Manipulation des données (DML)
INSERT
Insertion de lignes dans une table
UPDATE
Mise à jour de lignes dans une table
DELETE
Suppression de lignes dans une table
Contrôle des données (DCL)
GRANT
Attribution de droits d'accès
REVOKE
Suppression de droits d'accès
COMMIT
Prise en compte des mises à jour
ROLLBACK
Suppression des mises à jour
Interrogation des données
SELECT
Interrogations diverses

Nous ne traiterons dans cette présentation que des commandes liées à l'interrogation de données : clause SELECT.

Syntaxe de la commande SELECT

SELECT [DISTINCT] {* | expr [AS alias], ... }
FROM table [alias], ...
[WHERE { conditions | sous conditions} ]
[GROUP BY expr, ...] [HAVING conditions]
[ORDER BY {expr | num}{ASC | DESC}, ...];

Conventions syntaxiques

MAJUSCULES        : (SELECT ... ) Entrer les valeurs exactement comme présenté.
Italique
                     : colonne, table. Paramètre devant être remplacé par la valeur appropriée.
Alias
                          : Synonyme d'un nom de table ou de colonne.
Conditions
               : Expression prenant la valeur vraie ou fausse.
Sous conditions
      : Expression contenant une sous-interrogation.
Expr
                           : Colonne, ou attribut calculé (+, -, *, /)
num                            : Numéro de colonne
{ }
                               : Ex {ON|OFF}. Une des valeurs séparées par '|' doit obligatoirement être saisie.
[ ]
                                : Valeur optionnelle.
( )
                                : Les parenthèses et les virgules doivent être saisies comme présenté.
...
                                 : Les valeurs précédentes peuvent être répétées plusieurs fois
_ Souligné
                 : Indique la valeur par défaut.

Signification des différentes clauses

SELECT
Précise les colonnes qui vont apparaître dans la réponse
FROM
Précise la (ou les) table intervenant dans l'interrogation
WHERE
Précise les conditions à appliquer sur les lignes. On peut trouver :
- Des comparateurs : =, >, <, >=, <=,<>
- Des opérateurs logiques : AND, OR, NOT
- Les prédicats : IN, LIKE, NULL, ALL, SOME, ANY, EXISTS...
GROUP BY
Précise la (ou les) colonne de regroupement
HAVING
Précise la (ou les) conditions associées à un regroupement
ORDER BY
Précise l'ordre dans lequel vont apparaître les lignes de la réponse :
- ASC  : En ordre ascendant (par défaut)
- DESC: En ordre descendant

Apprentissage interactif de SQL

Pour faciliter la prise en main du langage, chaque chapitre se compose de 2 parties :

  1. Une partie "statique", illustrée par des requêtes "type" qui peuvent être saisies et exécutées à titre d'entrainement dans un cadre intitulé "Tester les exemples".
  2. Une partie "dynamique" constituée par un ensemble de questions permettant de vérifier les connaissances présentées. Ces questions sont signalées par un libellé en rouge Q01... et comportent un cadre permettant la saisie et l'exécution de la requête SQL correspondante ainsi qu'un bouton "Réponse".

L'apprentissage est organisée en 6 sections :

1- Projection, sélection
2- Prédicats : NULL, IN, LIKE, BETWEEN
3- Jointures
4- Regroupements, fonctions COUNT, SUM, AVG, MIN, MAX
5- Sous-interrogations
6- Exercice récapitulatif

Visiteurs :

©Marc Grange, Février 2001 | Dernière mise à jour : 10 Avril 2006