TOP

SQL-Leçon 3. Tri des données (ORDER BY)

À l'avenir, nous devrons peut-être trier notre sélection - par ordre alphabétique pour le texte ou par ordre croissant/décroissant - pour les valeurs numériques. À ces fins, SQL dispose d'un opérateur spécial ORDER BY.

L'opérateur SQL ORDER BY peut trier à la fois du plus petit au plus grand, c'est-à-dire par ordre croissant, et dans l'ordre inverse - du plus grand au plus petit.


1. Tri des données sélectionnées

Trions l'ensemble de notre tableau par le montant des ventes de produits, notamment par la colonne Montant.

Run SQLSELECT * 
FROM Sumproduct 
ORDER BY Amount

On voit que la requête a trié les enregistrements par ordre croissant dans le champ Montant. Il est nécessaire de respecter la séquence de disposition des opérateurs, c'est-à-dire que l'opérateur ORDER BY doit aller à la toute fin de la requête. Sinon, un message d'erreur sera reçu.

De plus, une caractéristique de l'opérateur ORDER BY est qu'il peut trier les données selon un champ que nous n'avons pas sélectionné dans la requête, c'est-à-dire qu'il suffit qu'elles soient dans la base de données.

2. Tri par plusieurs champs

Trions maintenant notre exemple en fonction d'un champ supplémentaire. Que ce soit le champ City, qui affiche le lieu de vente des produits.

Run SQLSELECT * 
FROM Sumproduct 
ORDER BY Amount, City

L'ordre de tri dépendra de l'ordre des champs dans la requête. Autrement dit, dans notre cas, les données seront d'abord triées par la colonne Montant, puis par City.

3. Sens de tri

Bien que par défaut l'opérateur ORDER BY trie par ordre croissant, on peut également écrire les valeurs par ordre décroissant. Pour ce faire, on met l'opérateur DESC (qui est une abréviation du mot DESCENDING) à la fin de chaque champ.

Run SQLSELECT * 
FROM Sumproduct 
ORDER BY Amount DESC, City

Dans cet exemple, les valeurs du champ Montant ont été triées par ordre décroissant et dans le champ City - par ordre croissant. L'opérateur DESC ne s'applique qu'à une seule colonne, donc si nécessaire, il doit être écrit après chaque champ participant au tri.