Pour trier explicitement les données extraites à l’aide d’une instruction SELECT, la clause ORDER BY est utilisée.
Le mot-clé ORDER BY trie les enregistrements par ordre croissant par défaut. Pour trier les enregistrements par ordre décroissant, utilisez le mot-clé DESC.
Syntaxe:
SELECT colonne1, colonne2, ...
FROM nom_table
ORDER BY colonne1, colonne2, ... ASC|DESC;
Base de données DB2 :
Vous trouverez ci-dessous une sélection de la table “Product” de la base de données DB2.
ID-Produit | Nom-Produit | Categorie | Prix | Stock | Valeur-Totale |
---|---|---|---|---|---|
7001 | Souris | Accessoires | 75,00 | ||
7002 | Disque dur | Accessoires | 65,00 | 20 | 1 300 |
7003 | Clavier | Accessoires | 36.00 | 33 | 1 118,00 |
7004 | RAM | Composants | 23.50 | 16 | 376,00 |
7005 | VTT | vélos | 1 200 | ||
7006 | Stylo | Papeterie | 7.45 | dix | 74,50 |
7007 | Clé USB | Accessoires | 65,00 | 20 | 1 300 |
Exemple 1 : tri par colonnes simples
SELECT ID-Produit, Nom-Produit, Categorie, Prix
FROM Produit
ORDER BY Prix;
Cette instruction trie les données par ordre alphabétique dans l’ordre croissant de la colonne Prix.
Résultat:
ID-Produit | Nom-Produit | Categorie | Prix |
---|---|---|---|
7006 | Stylo | Papeterie | 7.45 |
7004 | RAM | Composants | 23.50 |
7003 | Clavier | Accessoires | 36.00 |
7002 | Disque dur | Accessoires | 65,00 |
7007 | Clé USB | Accessoires | 65,00 |
7001 | Souris | Accessoires | 75,00 |
7005 | VTT | vélos | 1 200 |
Exemple 2 : tri sur plusieurs colonnes
Pour trier sur plusieurs colonnes, spécifiez simplement les noms de colonne séparés par des virgules dans la clause ORDER BY.
SELECT ID-Produit, Nom-Produit, Prix
FROM Produit
ORDER BY Prix, Nom-Produit;
Ce code récupère trois colonnes et trie les résultats par deux d’entre eux, d’abord par Price puis par ProductName (c’est-à-dire si plusieurs enregistrements sont présents avec le même prix, ces enregistrements seront à nouveau triés en fonction du nom).
Résultat:
ID-Produit | Nom-Produit | Prix |
---|---|---|
7006 | Stylo | 7.45 |
7004 | RAM | 23.50 |
7003 | Clavier | 36.00 |
7002 | Disque dur | 65,00 |
7007 | Clé USB | 65,00 |
7001 | Souris | 75,00 |
7005 | VTT | 1 200 |
Exemple 3 : Trier par position de colonne
ORDER BY prend également en charge le classement spécifié par la position relative des colonnes.
SELECT ID-Produit, Prix, Nom-Produit
FROM Produit
ORDER BY 2, 3;
ORDER BY 2 signifie trier par la deuxième colonne de la liste SELECT, la colonne Prix. ORDER BY 2, 3 signifie trier par Price puis par ProductName.
Résultat:
ID-Produit | Prix | Nom-Produit |
---|---|---|
7006 | 7.45 | Stylo |
7004 | 23.50 | RAM |
7003 | 36.00 | Clavier |
7002 | 65,00 | Disque dur |
7007 | 65,00 | Clé USB |
7001 | 75,00 | Souris |
7005 | 1 200 | VTT |
Exemple 4 : Spécification du sens de tri
Le tri des données ne se limite pas aux ordres de tri croissants (de A à Z). Bien qu’il s’agisse de l’ordre de tri par défaut, la clause ORDER BY peut également être utilisée pour trier par ordre décroissant (de Z à A).
Pour trier par ordre décroissant, le mot-clé DESC doit être spécifié.
SELECT ProductID, ProductName, Price FROM Product ORDER BY Price DESC ; |
Ce SQL trie les produits par prix dans l’ordre décroissant (produit le plus cher présent en premier).
Résultat:
ID-Produit | Nom-Produit | Prix |
---|---|---|
7005 | VTT | 1 200 |
7001 | Souris | 75,00 |
7002 | Disque dur | 65,00 |
7007 | Clé USB | 65,00 |
7003 | Clavier | 36.00 |
7004 | RAM | 23.50 |
7006 | Stylo | 7.45 |