Partie 2 · SQL de base
SELECT : interroger la base
La syntaxe générale d'un SELECT du cours :
SELECT [DISTINCT] attributs
[INTO OUTFILE fichier]
[FROM relation]
[WHERE condition]
[GROUP BY attributs [ASC | DESC]]
[HAVING condition]
[ORDER BY attributs]
[LIMIT [a,] b]
Exemple : SELECT nom, prénom FROM Personnes WHERE adresse LIKE '%paris%'. On avance par étapes :
| Besoin | Requête |
|---|---|
| Tous les enregistrements | SELECT * FROM relation |
| Toutes les valeurs d'une colonne | SELECT attribut FROM relation |
| Sans doublon | SELECT DISTINCT attribut FROM relation |
| Trié croissant | … ORDER BY attribut ASC |
| Les num premiers | … LIMIT num |
| Avec condition | … WHERE condition ORDER BY … LIMIT … |
À toi de coder
Vérifie que tu as compris
Dans quel ordre s'écrivent ces clauses ?
Exemple en série (table Gens, colonne Nom) : SELECT Nom renvoie tous les noms (avec doublons), SELECT DISTINCT Nom les noms uniques, … ORDER BY Nom ASC LIMIT 2 les deux premiers dans l'ordre, et … WHERE Nom <> 'Chirac' exclut ce nom avant le tri et la limite.
Les clauses GROUP BY et HAVING (regroupements, agrégats) sont citées dans la syntaxe ; tu les manipuleras dans la partie 3 avec les exercices « Facebook Events ».
À toi de coder
Vérifie que tu as compris
Quelle clause retire les doublons d'un résultat ?