Trier les données
Principe du tri: ORDER BY
Suite à l'utilisation de la commande SELECT les données communiquées par le SGBD ne sont pas forcément triées. L'ordre est souvent celui de leur création ou de leur insertion dans le logiciel et ne correspond pas à celui désiré. Le tri est possible en utilisant l'instruction ORDER BY comme suit:
Liste des éditeurs classés par ordre alphabétique:
SELECT * FROM editeur ORDER BY nom_editeur
Ce qui donne:
id_editeur | nom_editeur | adresse | collections |
8 | Campus Press | Paris | Informatique |
2 | Dunod | paris | sciences gestion informatique |
4 | Economica | Paris | gestion économie statistiques |
1 | Gallimard | paris | romans français et étrangers, sciences humaines, poésie |
9 | Khartala | guadeloupe | tourisme et poltique |
6 | Livre de poche | paris | romans format poche |
7 | Minuit | paris | romans essais contemporains |
5 | Seuil | paris | Rivages -romans essais |
Pour un tri inverse de l'ordre alphabétique il suffit de rajouter DESC en fin d'instruction:
SELECT * FROM editeur ORDER BY nom_editeur DESC
D'où:
id_editeur | nom_editeur | adresse | collections |
5 | Seuil | paris | Rivages -romans essais |
7 | Minuit | paris | romans essais contemporains |
6 | Livre de poche | paris | romans format poche |
9 | Khartala | guadeloupe | tourisme et poltique |
1 | Gallimard | paris | romans français et étrangers, sciences humaines, poésie |
4 | Economica | Paris | gestion économie statistiques |
2 | Dunod | paris | sciences gestion informatique |
8 | Campus Press | Paris | Informatique |
Tri sur plusieurs colonnes
Il suffit de préciser les champs concernés séparés par une virgule. Ainsi pour la liste des livres triés par prix, puis par nombre de pages décroissant on a:
SELECT titre, prix, nb_pages FROM livre ORDER BY prix, nb_pages DESC
donc
titre | prix | nb_pages |
MySQL | 0 | 735 |
Introduction à la philosophie politique | 0 | 450 |
L'étranger | 4 | 220 |
Un barrage contre le pacifique | 6 | 380 |
La debâcle | 6 | 225 |
Un plat qui se mange froid | 6 | 84 |
Les Modernes | 7 | 376 |
Le père Goriot | 7 | 360 |
Nana | 7 | 350 |
Au bonheur des dames | 7 | 350 |
Le premier aigle | 7 | 325 |
Eugénie grandet | 7 | 315 |
La peste | 8 | 330 |
La peau de chagrin | 8 | 280 |
sql | 8 | 234 |
La vie devant soi | 9 | 285 |
L'amant | 10 | 185 |
Les désillusions du progrès | 12 | 286 |
Le tourisme à la Martinique : sous la plage, les conflits | 15 | 250 |
Moon | 22 | 340 |
Statistiques descriptives | 25 | 330 |
Les livres sont classés par prix croissant, et pour les ouvrages de même prix par nombre de pages décroissant.
A vous
Rappel du modèle:
auteur (id_auteur, nom, prenom, pseudo, nationalite, siecle)
editeur (id_editeur, nom, adresse, collections)
genre (id_genre, type, precisions)
livre (code, titre, nb_pages, prix, #id_auteur, #id_genre, #id_editeur)
Saisir les requêtes permettant d'obtenir les informations suivantes:
1 - Noms et prénoms des auteurs, ordre alphabétique
2 - Toutes les colonnes de la table livre triées par id_auteur décroissant puis par prix croissant
3 - Tous les champs de la table auteur triés en fonction du siècle (croissant) puis du prénom (décroissant)
Saisir votre requête