Академический Документы
Профессиональный Документы
Культура Документы
indique la cl primaire de la table. Aucune des colonnes de cette cl ne doit avoir une valeur NULL.
interdit quune colonne (ou la concatnation de plusieurs colonnes) contienne deux valeurs identiques.
indique que la concatnation de col1, col2, est une cl trangre faisant rfrence la concatnation de
col1, col2, de table. Si col1,col2, sont omises, la cl primaire de table est prise par dfaut.
par dfaut, on ne peut supprimer un n-uplet rfrenc par d'autres n-uplet. Si on rajoute la clause on "delete
cascade", les n-uplets rfrenant sont supprims.
CHECK (condition)
donne une condition devant tre vrifie par une ou plusieurs colonnes.
2.3 Suppression
DELETE FROM table WHERE prdicat
supprime les enregistrements de table qui vrifient prdicat. Si prdicat est omis, tous les enregistrements
sont supprims.
3.1 SELECT
SELECT [DISTINCT] expr1 [[AS] nom1], expr2 [[AS] nom2],
ralise une projection.
Exrp1, expr2, indiquent quelles expressions devront tre renvoyes, par exemple des noms de champs. Sil
y a une ambigut (cas de deux tables contenant des champs de mme nom), il est ncessaire de prfixer le
nom du champ par celui de la table et dun point.
Nom1, nom2, sont des noms facultatifs qui constitueront les titres des colonnes renvoyes.
Le mot cl DISTINCT permet de supprimer les doublons.
3.2 FROM
FROM table1 [alias1], table2 [alias2],
donne la liste des tables participant linterrogation. alias1, alias2, sont des alias facultatifs attribus aux
tables pour le temps de la requte. Quand une table se voit attribuer un alias, elle nest plus reconnue sous
son nom dorigine dans la requte.
3.3 WHERE
WHERE prdicat
permet deffectuer une restriction, c'est--dire de spcifier quels enregistrements slectionner dans une table
ou un produit cartsien de tables.
3.3.1 Prdicats simples
Un prdicat simple est la comparaison de plusieurs expressions au moyen dun oprateur logique:
WHERE
WHERE
WHERE
expr2)
WHERE
WHERE
(oprateurs classiques)
(appartenance un intervalle bornes incluses)
(utilisation des caractres joker _ et % dans
3.3.3 Sous-requtes
Le critre de recherche employ dans une clause WHERE (lexpression droite dun oprateur de
comparaison) peut tre le rsultat dun SELECT. Dans le cas des oprateurs classiques, la sousinterrogation
ne doit ramener quune ligne et une colonne. Elle peut ramener plusieurs lignes la suite de loprateur
[NOT] IN, ou la suite des oprateurs classiques moyennant lajout dun mot cl (ANY ou ALL).
ANY : la comparaison est vraie si elle est vraie pour au moins un lment de lensemble (donc fausse si
lensemble des enregistrements est vide).
ALL : la comparaison est vraie si elle est vraie pour tous les lments de lensemble (donc vraie si
lensemble des enregistrements est vide).
WHERE expr1 = / != / < / > / <= / >= expr2 ALL (SELECT)
WHERE expr1 = / != / < / > / <= / >= expr2 ANY (SELECT)
3.4 Jointures
3.4.1 Jointures naturelles
SELECT expr1, expr2,
FROM table1, table2
WHERE table1.champ1 = table2.champ2
Lorsque la clause FROM contient plusieurs tables, on en obtient le produit cartsien. La clause WHERE
permet deffectuer une restriction. Si cette clause est une galit, on dit que lon ralise une jointure naturelle
ou qui-jointure.
3.5 GROUP BY
GROUP BY expr1, expr2,
permet de subdiviser la table en groupes, chaque groupe tant lensemble des enregistrements ayant une
valeur commune pour les expressions spcifies. Les champs de la clause SELECT doivent alors tre des
fonctions agrgat ou des expressions figurant dans la clause GROUP BY.
Quelques fonctions d'agrgat: COUNT, SUM, MIN, MAX, AVG, VARIANCE.
3.6 HAVING
HAVING prdicat
sert prciser quels groupes doivent tre slectionns. Cette clause se place aprs GROUP BY et le prdicat
ne peut porter que sur des fonctions agrgat ou des expressions figurant dans la clause GROUP BY.
3.7 ORDER BY
ORDER BY expr1 [DESC], expr2 [DESC],
classe les enregistrements retourns selon lordre croissant de expr1 puis expr2. La clause facultative DESC
inverse lordre de classement. Pour prciser lors dun tri sur quelle expression va porter le tri, il est possible
de donner sa position dans la liste des expressions de la clause SELECT ou encore le nom quon lui a
attribu.