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