Question (SELECT)
Fondamental : Question
La requête de sélection ou question est la base de la recherche de données en SQL.
Définition : Sélection
La sélection est la composition d'un produit cartésien, d'une restriction et d'une projection (ou encore la composition d'une jointure et d'une projection).
Syntaxe :
SELECT liste d'attributs projetés
FROM liste de relations du produit cartésien
WHERE condition de la restriction
La partie SELECT indique le sous-ensemble des attributs qui doivent apparaître dans la réponse (c'est le schéma de la relation résultat).
La partie FROM décrit les relations qui sont utilisables dans la requête (c'est à dire l'ensemble des attributs que l'on peut utiliser).
La partie WHERE exprime les conditions que doivent respecter les attributs d'un tuple pour pouvoir être dans la réponse. Une condition est un prédicat et par conséquent renvoie un booléen. Cette partie est optionnelle.
Exemple :
SELECT Nom, Prenom
FROM Personne
WHERE Age>18
Cette requête sélectionne les attributs Nom et Prénom des tuples de la relation Personne, ayant un attribut Age supérieur à 18.
Syntaxe : Notation préfixée
Afin de décrire un attribut d'une relation en particulier (dans le cas d'une requête portant sur plusieurs relations notamment), on utilise la notation relation.attribut
.
Exemple :
SELECT Personne.Nom, Personne.Prenom, Vol.Depart
FROM Personne, Vol
WHERE Personne.Vol=Vol.Numero
Syntaxe : SELECT *
Pour projeter l'ensemble des attributs d'une relation, on peut utiliser le caractère *
à la place de la liste des attributs à projeter.
Exemple :
SELECT *
FROM Avion
Cette requête sélectionne tous les attributs de la relation Avion.
Notons que dans cet exemple, la relation résultat est exactement la relation Avion