SQL - Clause ORDER BY

Le SQL ORDER BYLa clause est utilisée pour trier les données par ordre croissant ou décroissant, en fonction d'une ou plusieurs colonnes. Certaines bases de données trient les résultats de la requête dans un ordre croissant par défaut.

Syntaxe

La syntaxe de base de la clause ORDER BY est la suivante -

SELECT column-list 
FROM table_name 
[WHERE condition] 
[ORDER BY column1, column2, .. columnN] [ASC | DESC];

Vous pouvez utiliser plusieurs colonnes dans la clause ORDER BY. Assurez-vous que la colonne que vous utilisez pour trier cette colonne doit être dans la liste des colonnes.

Exemple

Considérez la table CUSTOMERS ayant les enregistrements suivants -

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

Le bloc de code suivant a un exemple, qui trierait le résultat dans un ordre croissant par le NOM et le SALAIRE -

SQL> SELECT * FROM CUSTOMERS
   ORDER BY NAME, SALARY;

Cela produirait le résultat suivant -

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
+----+----------+-----+-----------+----------+

Le bloc de code suivant a un exemple, qui trierait le résultat dans l'ordre décroissant par NAME.

SQL> SELECT * FROM CUSTOMERS
   ORDER BY NAME DESC;

Cela produirait le résultat suivant -

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
+----+----------+-----+-----------+----------+