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.

EmployeeIDEmployeeLastNameEmployeeFirstNameEmailID
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

EmployeeIDEmployeeLastNameEmployeeFirstNameEmailID
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.

EmployeeIDEmployeeLastNameEmployeeFirstNameEmailID
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.

EmployeeIDEmployeeLastNameEmployeeFirstNameemail
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

EmployeeIDEmployeeLastName
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 -

  1. Avantages de NoSQL
  2. Outils de gestion SQL
  3. Fonctions de chaîne T-SQL
  4. Types de données PostgreSQL
  5. Différents types de données SQL avec des exemples