|
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
|