Cette requête est la plus simple, elle renvoie tous les
enregistrements de la base de donnée Etudiants:
SELECT * FROM Etudiants;
SELECT * FROM "etudiants.dbf";
Cette requête renvoie les enregistrements de la colonne Nom:
SELECT Nom FROM Etudiants;
On peut exécuter une requête sur plusieurs table. Si le
nom des champs est identique, on spécifie la table source:
SELECT Etudiants.Nom , Professeurs.Nom , [Date de Naissance] FROM
Etudiants,Professeur;
ORDER
BY
Pour trier des enregistrements extraits par la requête, on utilise
ORDER BY suivi de la ou les colonnes servant de clé de tri, puis
l'ordre croissant ou décroissant. En général, on la
place à la fin de la requête:
SELECT * FROM Etudiants ORDER BY Nom ASC;
ASC est le tri par défaut.
SELECT Nom,Prénom FROM Etudiants ORDER BY Nom DESC;
On peut trier plusieurs colonnes, un ordre de priorité
est établi.
SELECT Nom,Prénom FROM Etudiants ORDER BY Nom,Prénom;
TOP
Pour renvoyer uniquement un certain nombre d'enregistrements compris
dans la portion supérieur ou inférieure d'une plage spécifiée
par ORDER BY, on utilise TOP. La requête suivante donne les 5 meilleurs
étudiants:
SELECT TOP 5 Nom,Prénom FROM Etudiants ORDER BY Notes DESC;
On peut utiliser le mot clé PERCENT pour renvoyer un pourcentage
d'enregistrements.
SELECT TOP 10 PERCENT Nom,Prénom FROM Etudiants ORDER BY Notes
DESC;
WHERE
Ce mot clé est très utile lorsque l'on veut faire une
selection précise parmi les enregistrements. Voici comment obtenir
les étudiants agés entre 18 et 20 ans:
SELECT Nom,Prenom FROM Etudiants WHERE Age BETWEEN 18 AND 20;
On peut avoir jusqu'à 40 conditions reliés par des AND
et OR avec une clause WHERE:
SELECT Nom,Prenom FROM Etudiants WHERE (Age BETWEEN 18 AND 20) AND
( ( [Lieu d'habitations] ='Angers') OR ( [Lieu d'habitations] ='Nantes')
)
WHERE utilise une grande quantité d'opérateurs
SQL.
GROUP
BY
GROUP BY permet de combiner des enregistrements dont les valeurs sont
identiques dans la liste de champ spécifiée en un seul enregistrement.
Une valeur résumée est créée pour chaque enregistrement
si vous spécifiez une fonction de regroupement.
Ainsi pour obtenir la moyenne des notes des étudiants par origine:
SELECT Origine, Avg( Notes ) FROM Etudiants GROUP BY Origine;
HAVING
HAVING permet de spécifier les enregistrements regroupés
avec GROUP BY. Elle s'utilise de la même manière que WHERE.
La requête suivante donne le nombre d'élèves par promo
ayant obtenu une note supérieure à 10:
SELECT Promo,Count( Nom ) FROM Etudiants GROUP BY Promo HAVING Notes
> 10;
HAVING utilise, comme WHERE, les opérateurs SQL.