SQL ET POSTGRE 5.35 Order by
La clause ORDER BY en SQL permet de trier les résultats d'une requête selon une ou plusieurs colonnes. Par défaut, ORDER BY trie en ordre croissant (ASC). Utilisez DESC pour un ordre décroissant. Par exemple, SELECT nom, prénom FROM acteur ORDER BY nom affiche tous les acteurs classés alphabétiquement par nom.
ORDER BY fonctionne avec tous les types de données. Pour les chaînes de caractères, l'ordre est alphabétique (A à Z en croissant, Z à A en décroissant). Pour les nombres entiers, c'est l'ordre numérique (1 à 5 en croissant, 5 à 1 en décroissant). Pour les dates, c'est l'ordre chronologique. Vous pouvez combiner ORDER BY avec WHERE pour trier un sous-ensemble filtré de résultats, par exemple SELECT * FROM acteur WHERE civilité='F' ORDER BY date_naissance DESC affiche les femmes classées par date de naissance décroissante.
Vous pouvez aussi trier par plusieurs colonnes en énumérant les colonnes séparées par des virgules. Chaque colonne peut avoir son propre ordre (ASC ou DESC). La première colonne est le critère de tri principal ; si deux lignes ont la même valeur pour cette colonne, le tri se fait selon la deuxième colonne, et ainsi de suite. Cette flexibilité rend ORDER BY très puissante pour organiser les données selon vos besoins spécifiques.
En résumé
Cette leçon explique comment utiliser la clause ORDER BY en SQL pour trier les résultats d'une requête selon une colonne spécifique. Le tutorial couvre le fonctionnement par défaut (tri par ordre d'insertion), puis introduit les opérateurs ASC (croissant) et DESC (décroissant) pour ordonner les données. Elle illustre le tri sur différents types de données : texte en ordre alphabétique, nombres entiers, et dates chronologiques, avec la possibilité de combiner ORDER BY avec WHERE pour filtrer avant de trier.
Points clés
- La clause ORDER BY trie les résultats selon les valeurs d'une colonne spécifiée
- ASC (défaut) trie en ordre croissant : A→Z pour texte, 1→n pour nombres, dates anciennes→récentes
- DESC trie en ordre décroissant : Z→A pour texte, n→1 pour nombres, dates récentes→anciennes
- ORDER BY fonctionne avec tous types de données : texte, nombres entiers et dates
- Il est possible de combiner ORDER BY avec WHERE : le filtrage s'effectue avant le tri
Questions fréquentes
Quel est le tri par défaut dans PostgreSQL sans clause ORDER BY ?
Sans ORDER BY, les résultats sont affichés dans l'ordre d'insertion, c'est-à-dire selon l'ordre des identifiants (ID) ou l'ordre chronologique d'ajout dans la table.
Quelle est la différence entre ASC et DESC ?
ASC trie en ordre croissant (A→Z pour texte, 1→n pour nombres, passé→futur pour dates), tandis que DESC trie en ordre décroissant (Z→A, n→1, futur→passé).
Peut-on combiner WHERE et ORDER BY dans la même requête ?
Oui, WHERE doit être placé avant ORDER BY. Cela permet de filtrer les résultats d'abord, puis de les trier selon les critères spécifiés.