Trier les données - ORDER BY
L’instruction ORDER BY dans SQL est utilisée pour trier les données extraites par ordre croissant ou décroissant selon une ou plusieurs colonnes.
- Par défaut, ORDER BY trie les données par ordre croissant.
- Vous pouvez utiliser le mot-clé DESC pour trier les données par ordre décroissant et le mot-clé ASC pour trier par ordre croissant.
Syntaxe :
SELECT liste-colonnes
FROM nom_table
[WHERE condition]
[ORDER BY colonne1, colonne2, .. ] [ASC | DESC];
Attention ! Vous pouvez utiliser plusieurs colonnes dans la clause ORDER BY. Assurez-vous que les colonnes que vous utilisez pour trier ces enregistrements doivent figurer dans la liste des colonnes (liste-colonnes).
Lorsque vous utilisez ORDER BY sur plusieurs colonnes, le tri commence par la première colonne, si deux ou plusieurs enregistrements ont le même rang, alors le tri passe à la colonne suivante, etc.
Exemples
La table échantillon - Employes
+----+---------+-----+---------+
| Id | Nom | Age | Salaire |
+----+---------+-----+---------+
| 1 | Ismail | 25 | 6000.00 |
| 2 | Mohamed | 30 | 8000.40 |
| 3 | Fatima | 29 | 6000.00 |
| 4 | Dounia | 25 | 9000.00 |
| 5 | Omar | 30 | 7500.00 |
+----+---------+-----+---------+
Exemple 1 :
SELECT * FROM Employes ORDER BY Age;
Cela produirait le résultat suivant :
+----+---------+-----+---------+
| Id | Nom | Age | Salaire |
+----+---------+-----+---------+
| 1 | Ismail | 25 | 6000.00 |
| 4 | Dounia | 25 | 9000.00 |
| 3 | Fatima | 29 | 6000.00 |
| 2 | Mohamed | 30 | 8000.40 |
| 5 | Omar | 30 | 7500.00 |
| 6 | Mostafa | 32 | 7000.00 |
+----+---------+-----+---------+
Exemple 2 :
SELECT * FROM Employes ORDER BY Age DESC;
Cela produirait le résultat suivant :
+----+---------+-----+---------+
| Id | Nom | Age | Salaire |
+----+---------+-----+---------+
| 6 | Mostafa | 32 | 7000.00 |
| 2 | Mohamed | 30 | 8000.40 |
| 5 | Omar | 30 | 7500.00 |
| 3 | Fatima | 29 | 6000.00 |
| 1 | Ismail | 25 | 6000.00 |
| 4 | Dounia | 25 | 9000.00 |
+----+---------+-----+---------+
Exemple 3 :
SELECT * FROM Employes ORDER BY Age, Nom DESC;
Cela produirait le résultat suivant :
+----+---------+-----+---------+
| Id | Nom | Age | Salaire |
+----+---------+-----+---------+
| 1 | Ismail | 25 | 6000.00 |
| 4 | Dounia | 25 | 9000.00 |
| 3 | Fatima | 29 | 6000.00 |
| 5 | Omar | 30 | 7500.00 |
| 2 | Mohamed | 30 | 8000.40 |
| 6 | Mostafa | 32 | 7000.00 |
+----+---------+-----+---------+
Exemple 4 :
SELECT * FROM Employes ORDER BY Age DESC, Nom ASC;
Cela produirait le résultat suivant :
+----+---------+-----+---------+
| Id | Nom | Age | Salaire |
+----+---------+-----+---------+
| 6 | Mostafa | 32 | 7000.00 |
| 2 | Mohamed | 30 | 8000.40 |
| 5 | Omar | 30 | 7500.00 |
| 3 | Fatima | 29 | 6000.00 |
| 4 | Dounia | 25 | 9000.00 |
| 1 | Ismail | 25 | 6000.00 |
+----+---------+-----+---------+
Partager ce cours avec tes amis :
Rédigé par
ESSADDOUKI
Mostafa
The education of the 21st century opens up opportunities to not merely teach, but to coach, mentor, nurture and inspire.
