Introduction à la clause ORDER BY dans SQL
La clause ORDER BY dans SQL nous aide à classer nos données dans un ordre croissant ou décroissant, selon les colonnes de nos tables. ORDER BY est le mot clé utilisé dans notre requête pour nous aider à trier les données. Par défaut, quelques bases de données classent les résultats renvoyés par la requête dans l'ordre croissant. Pour trier les données présentes dans les enregistrements par ordre décroissant, nous utilisons le mot-clé DESC dans notre requête. Nous avons également le mot clé ASC pour classer les données par ordre croissant, bien que la plupart du temps nous ne les utilisions pas en raison des paramètres par défaut de la base de données.
Paramètres de la clause ORDER BY dans SQL
- nom_colonne: Ceci indique le nom de la colonne que nous souhaitons récupérer sur la base de laquelle les données doivent être organisées.
- nom_table: Ceci indique le nom de la table à partir de laquelle les enregistrements doivent être obtenus. Nous devons avoir au moins un nom de table dans ce paramètre.
- Condition WHERE: Il s'agit d'un paramètre facultatif. La clause WHERE contient les conditions que nous devons remplir pour que les données soient choisies.
- ASC : c'est le mot-clé utilisé pour trier les données de la colonne dans l'ordre croissant. Si aucun mot clé n'est mentionné, les données sont triées par ordre croissant par défaut.
- DESC: il s'agit du mot clé utilisé pour trier les données de la colonne dans l'ordre décroissant.
- |: Ceci est juste un indicateur pour "OU", car nous devons utiliser ASC ou DESC dans notre requête en conséquence pour les résultats.
COMMANDER PAR Clause
La syntaxe de ORDER BY est:
SELECT column_name(s)
FROM table_name(s)
(WHERE condition) (ORDER BY column1, column2, .. columnN) (ASC | DESC);
Syntaxe pour trier les données selon une seule colonne
Pour trier les données du tableau en fonction d'une seule colonne dans l'ordre croissant ou décroissant, nous pouvons utiliser les mots clés ASC ou DESC. Dans notre exemple, nous allons trier les données par ordre croissant en utilisant ainsi le mot clé ASC.
Syntaxe
SELECT * FROM table_name ORDER BY column_name ASC
La syntaxe de tri des données selon plusieurs colonnes
Pour trier les données du tableau en fonction de plusieurs colonnes dans l'ordre croissant ou décroissant, nous pouvons utiliser les mots clés ASC ou DESC. Pour mentionner les différentes colonnes selon lesquelles nous allons trier les données, nous devons mentionner les noms des colonnes séparées par l'opérateur virgule (, ). Dans notre exemple, nous allons trier les données par ordre croissant en utilisant ainsi le mot clé ASC.
Syntaxe
SELECT * FROM table_name ORDER BY column1 ASC, column2 ASC
Exemples de clauses ORDER BY
Examinons divers exemples pour mieux comprendre la clause ORDER BY.
1. Exemple pour trier les résultats dans un ordre croissant
Pour classer les résultats par ordre croissant, nous pouvons utiliser le mot clé ASC. Si aucun mot clé, ASC ou DESC n'a été fourni, l'ordre de tri par défaut est l'ordre croissant. Comprenons cela à l'aide d'un exemple. Nous avons une table des employés.
EmployeeID | EmployeeLastName | EmployeeFirstName | EmailID |
001 | Donald | Jo | |
002 | Forgeron | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomas | Sortie | |
006 | marron | Dan |
Lorsque nous essayons d'organiser les résultats dans l'ordre croissant du nom de famille de l'employé, nous pouvons utiliser l'instruction suivante, et le résultat qui suit s'affiche dans le tableau suivant.
SELECT *
FROM Employee
ORDER BY EmployeeLastName;
Résultat
EmployeeID | EmployeeLastName | EmployeeFirstName | EmailID |
006 | marron | Dan | |
001 | Donald | Jo | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
002 | Forgeron | Jamie | |
005 | Thomas | Sortie |
Cet exemple renvoie tous les enregistrements de la table Employee triés par ordre croissant en fonction du champ EmployeeLastName. Nous pouvons également utiliser le mot-clé ASC comme suit, pour obtenir le même résultat.
SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;
2. Exemple pour trier les résultats dans un ordre décroissant
Nous utilisons le mot-clé DESC lorsque nous voulons trier nos données par ordre décroissant, dans notre clause ORDER BY. Comprenons cela à l'aide d'un exemple. Nous avons la même table Employee contenant les données suivantes.
EmployeeID | EmployeeLastName | EmployeeFirstName | EmailID |
001 | Donald | Jo | |
002 | Forgeron | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomas | Sortie | |
006 | marron | Dan |
Nous n'avons besoin que des employés dont le EmployeeID est supérieur à 2 et nous avons besoin de nos données triées par ordre décroissant. Nous utilisons l'instruction SQL suivante pour la même chose et obtenons la table du jeu de résultats avec seulement 4 enregistrements.
SELECT *
FROM Employee
WHERE EmployeeID > 002
ORDER BY EmployeeID DESC;
Résultat:
EmployeeID | EmployeeLastName | EmployeeFirstName | Identifiant e-mail |
006 | marron | Dan | |
005 | Thomas | Sortie | |
004 | Reynolds | Andy | |
003 | Jones | Amy |
3. Exemple pour trier les résultats par leur position relative
Nous pouvons également organiser nos données en fonction de la position relative des colonnes, où 1 représente le premier champ, 2 représente le deuxième champ, 3 représente le troisième champ, etc. Essayons d'organiser les données dans notre tableau des employés en fonction des positions relatives.
EmployeeID | EmployeeLastName | EmployeeFirstName | |
001 | Donald | Jo | |
002 | Forgeron | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomas | Sortie | |
006 | marron | Dan |
En utilisant l'instruction SQL comme suit, nous pouvons organiser les données dans l'ordre décroissant de EmployeeID. Nous avons également affirmé que nous n'avons besoin que de deux colonnes de la table, à savoir EmployeeID et EmployeeLastName, ainsi que l'utilisation de la clause WHERE pour mentionner que nous ne voulons pas de ligne contenant le EmployeeID 003.
SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;
Résultat
EmployeeID | EmployeeLastName |
006 | marron |
005 | Thomas |
004 | Reynolds |
002 | Forgeron |
001 | Donald |
Étant donné que la colonne à la position 1 est EmployeeID, le jeu de résultats est trié en fonction de EmployeeID.
Conclusion
En SQL, l'instruction SELECT ne renvoie pas de données dans un ordre spécifique. Pour garantir une commande particulière, nous utilisons la clause ORDER BY. ORDER BY trie sur la base d'une ou plusieurs colonnes. Les enregistrements sont retournés dans l'ordre croissant ou décroissant. Si aucun mot clé ASC ou DESC n'a été fourni, les résultats seront classés par ordre croissant.
Article recommandé
Cela a été un guide pour la clause ORDER BY en SQL. Nous discutons ici des paramètres et des différents exemples de clause ORDER BY ainsi que de la syntaxe. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -
- Avantages de NoSQL
- Outils de gestion SQL
- Fonctions de chaîne T-SQL
- Types de données PostgreSQL
- Différents types de données SQL avec des exemples