Tri, DISTINCT, LIMIT
Maîtriser l'ordre et la taille d'un résultat : ORDER BY sur une ou plusieurs clés, DISTINCT sur la combinaison des colonnes affichées, LIMIT et OFFSET.
- 20 cartes
- 5 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Les chiffres
- Mises en situation
Quelques cartes du deck
ORDER BY : de quoi s'agit-il ?
Voir la réponse
Clause qui trie les lignes du résultat selon une ou plusieurs colonnes, de la plus importante à la moins importante.
Sans elle, la base rend les lignes dans l'ordre qui l'arrange, qui peut changer d'une exécution à l'autre : rien ne garantit un ordre.
Quelles lignes rend cette requête ?
```sql
-- film : titre, annee
-- Cendres 2021 | Bal masqué 2019 | Les Voisins 2015 | Orbite 2012
-- Horizon 2010 | Zéro absolu 2004 | Nuit blanche 1998 | Terminus 1985
SELECT titre FROM film
ORDER BY annee DESC
LIMIT 3 OFFSET 2;`- Les Voisins, Orbite, Horizon
- Cendres, Bal masqué, Les Voisins
- Bal masqué, Les Voisins, Orbite
- Orbite, Horizon, Zéro absolu
Voir la réponse
Les Voisins, Orbite, Horizon
Le tri décroissant donne Cendres, Bal masqué, Les Voisins, Orbite, Horizon… OFFSET 2 saute les deux premiers, LIMIT 3 garde les trois suivants.
Dans
ORDER BY ville, age DESC, les lignes sont triées d'abord par …, puis, à ville égale, par … décroissant.Voir la réponse
Dans
ORDER BY ville, age DESC, les lignes sont triées d'abord par ville, puis, à ville égale, par age décroissant.La première colonne domine ; la suivante ne départage que les ex æquo de la précédente.
DESC : de quoi s'agit-il ?
Voir la réponse
Mot qui inverse le sens du tri pour la seule colonne qu'il suit : du plus grand au plus petit.
Le sens par défaut est croissant (ASC). Dans
ORDER BY ville, age DESC, seule age est décroissante ; il faut répéter DESC sur chaque colonne concernée.