Définition
Language de requêtes pour les SGBD relationnels (Standard développé par ANSI et adopté par ISO/IEC 1986).
Expressions de base
PROJECTION |
|
SELECT * | |
|
FROM COMMANDES |
|
|
SELECT NUM, CNom, PNom, Quantite | |
|
FROM COMMANDES |
|
|
SELECT DISTINCT NUM, CNom, PNom, Quantite | |
|
FROM COMMANDES |
|
SELECTION |
|
SELECT PNOM | |
|
FROM COMMANDES |
|
WHERE CNOM = ’JEAN’ |
|
Opérateurs : AND, OR |
|
Comparateurs : =, <, >, <>, BETWEEN, LIKE, IS NULL, IN |
|
JOINTURE |
|
SELECT C.PNom, Cout, FNom | |
|
FROM COMMANDES as C, PRIX as P |
|
WHERE CNom = ’JEAN’ AND C.PNom = P.PNom |
Expressions Ensemblistes
UNION |
|
SELECT PNom FROM PRIX WHERE COUT >= 100 | 
|
|
UNION |
|
SELECT PNom FROM Commandes WHERE CNom = ’JEAN’ |
|
DIFFERENCE |
|
SELECT DeptNo FROM DEPARTEMENT | 
|
|
EXCEPT |
|
SELECT DeptNo FROM EMPLOYE |
|
INTERSECTION |
|
SELECT DeptNo FROM DEPARTEMENT WHERE Loc = ’Paris’ | 
|
|
INTERSECT |
|
SELECT DeptNo FROM EMPLOYE WHERE Sal
aire > 20000 |
Imbrication des requêtes
S F W PNom IN (SELECT DISTINCT B ...) Liste des A inclus dans B |
S F W DEPNO NOT IN (SELECT DISTINCT B ...) Liste des A sans B |
S F W DEPNO < ANY (SELECT DISTINCT B ...) Liste des A inférieurs à n’importe quel éléments de B |
S F W DEPNO <= ALL (SELECT DISTINCT B ...) Liste des A inférieur à tous les B |
S F W DEPNO NOT = ALL (SELECT DISTINCT B ...) Liste des A sans B |
S F W DEPNO EXISTS (SELECT DINSTINCT B ...) Liste des A existant dans B |
Fonctions de calculs
COUNT Compte les n-uplets |
SUM Addition de valeurs |
AVG Réalise une moyenne (coût moyen) |
MIN Si inférieur à |
GROUP BY Groupé par ... |
HAVING ex : HAVING COUNT(*) >= 2 ayant une valeur supp à 2 |
Division
FOURNITURE (FNUM, PNUM, QUANTITE) |
PRODUIT (PNUM, PNOM, COUT) |
FOURNISSEUR (FNUM, FNOM, STATUS, VILLE) |
|
Requête : Fournisseurs qui fournissent tous les produits |
|
SELECT FNOM |
FROM FOURNISSEUR |
WHERE NOT EXISTS |
|
(SELECT * |
|
FROM PRODUIT |
|
WHERE NOT EXISTS |
| |
(SELECT * |
| |
FROM FOURNITURE |
| |
WHERE FOURNITURE.FNUM = FOURNISSEUR.FNUM |
| |
AND FOURNISSEUR.PNUM = PRODUIT.PNUM)) |
|