|
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 :
- 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".
- 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
|