13.Trier les données [ORDER BY]

Le langage SQL offre certains paramètres permettant de trier les données. Pour cela, à la requête "SELECT * FROM table WHERE condition", nous devons ajouter "ORDER BY champ", où champ est le champ sur lequel nous souhaitons opérer le tri.
Prenons le cas de la table (matable) suivante:
hebergement note prix
Gite 3 250
Hôtel 3 400
Camping 4 200
Hôtel 2 450
Tri simple : La requête SELECT * FROM matable ORDER BY prix retournera:
hebergement note prix
Hôtel 2 450
Gite 3 250
Camping 4 200
Hôtel 3 400
Tri dans l'ordre décroissant : Il est également possible de demander un tri en ordre décroissant en ajoutant le mot clé DESC. Et comme un tri peut également s'appliquer sur des chaînes alphanumériques (on procède alors à un tri alphabétique) la requête suivante est valable SELECT * FROM matable ORDER BY hebergement DESC et donnera:
hebergement note prix
Hôtel 2 450
Hôtel 3 400
Gite 3 250
Camping 4 200
Tri sur plusieurs champs : De même il est possible de demander un tri selon plusieurs critères en indiquant une succession de champs, ainsi, SELECT * FROM matable ORDER BY hebergement,note triera d'abord les hébergements par ordre alphabétique et pour tous les enregistrements ayant le même hébergement le tri se fera selon la note.
hebergement note prix
Camping 4 200
Gite 3 250
Hôtel 2 450
Hôtel 3 400
Tri sur plusieurs champs croissant et décroissant : Cela n'interdit pas l'utilisation de l'attribut DESC, il suffit de l'ajouter derrière le (ou les) champ()s qui doi(ven)t être trié(s) en ordre décroissant. SELECT * FROM matable ORDER BY hebergement DESC,note
hebergement note prix
Hôtel 2 450
Hôtel 3 400
Gite 3 250
Camping 4 200
rem
  • Il est également possible de trier un champ de type date sans plus de difficulté.