Problème :
Vous souhaitez afficher les enregistrements d'une table par ordre alphabétique ou alphabétique inverse selon la colonne donnée.
Exemple :
Notre base de données a une table nommée client. La table des clients contient des données dans les colonnes id, first_name et last_name.
identifiant | prénom | nom_de_famille |
---|---|---|
1 | Susan | Thomas |
2 | Jean | Michel |
3 | Tom | Müller |
Affichons les informations de chaque client, triées par ordre croissant de leur nom de famille.
Solution :
SELECT id, first_name, last_name, FROM customer ORDER BY last_name ASC;
Cette requête renvoie les enregistrements triés par ordre alphabétique :
identifiant | prénom | nom_de_famille |
---|---|---|
2 | Jean | Michel |
3 | Tom | Müller |
1 | Susan | Thomas |
Discussion :
Si vous souhaitez sélectionner des enregistrements dans une table mais souhaitez les voir triés selon une colonne donnée, vous pouvez simplement utiliser le ORDER BY
clause à la fin d'un SELECT
déclaration. Peu importe la complexité ou la longueur de votre requête SQL—ORDER BY
doit toujours être à la fin de la commande.
Après le ORDER BY
mot-clé, vous nommez la colonne selon laquelle les enregistrements doivent être triés. Dans notre requête, nous trions par le nom de famille du client.
ou
Par défaut, ORDER BY
sans aucun spécificateur supplémentaire trie dans l'ordre croissant (équivalent à l'utilisation de l'ASC
mot-clé explicitement). Comme vous pouvez probablement le deviner, ASC
signifie "ascendant". Si vous souhaitez trier par ordre décroissant, spécifiez simplement le DESC
mot-clé après le nom de la colonne.
La requête ci-dessous est similaire à la précédente mais renvoie une liste de clients triés par ordre décroissant de leur nom :
SELECT id, first_name, last_name, FROM customer ORDER BY last_name DESC;
identifiant | prénom | nom_de_famille |
---|---|---|
1 | Susan | Thomas |
3 | Tom | Müller |
2 | Jean | Michel |