Passer au contenu principal
eLearner.app
Module 1 · Leçon 4 sur 44/57 dans le cours~8 min
Leçons du module (4/4)

Trier avec ORDER BY

SQL ne garantit pas l'ordre des lignes renvoyées par un SELECT : si vous voulez un ordre déterministe, vous devez le demander explicitement avec ORDER BY :

SQL
SELECT <colonne>
FROM   <tabella>
[WHERE <condizione>]
ORDER BY <colonna> [ASC|DESC] [, <altra-colonna> [ASC|DESC] …];
  • ASC est la valeur par défaut : ordre ascendant (1 → 9, A → Z, ancien → récent).
  • DESC trie décroissant (9 → 1, Z → A, récent → ancien).
  • Vous pouvez trier par plusieurs colonnes : le deuxième critère brise les égalités du premier.

Exemples

SQL
-- Dal più recente assunto al più vecchio:
SELECT first_name, last_name, hired_on
FROM employees
ORDER BY hired_on DESC;

-- Per dipartimento crescente, poi per stipendio decrescente:
SELECT *
FROM employees
ORDER BY department_id, salary DESC;

Essayez-le

Exercice#sql.m1.l4.e1
Tentatives : 0Chargement…

Extrayez le nom de famille (last_name) et le salaire (salaire) de tous les employés, triés du salaire le plus élevé au plus bas.

Chargement de l'éditeur…
Afficher l'indice

ORDER BY salaire DESC donne la priorité aux employés les mieux payés.

Solution disponible après 3 tentatives

Exercice de révision

Exercice#sql.m1.l4.e2
Tentatives : 0Chargement…

Extrayez le nom de famille (last_name), le Department_id et le salaire (salary) de tous les employés, triés d'abord par Department_id par ordre croissant et, au sein d'un même département, du salaire le plus élevé au plus bas.

Chargement de l'éditeur…
Afficher l'indice

Vous pouvez passer deux colonnes séparées par une virgule à ORDER BY, chacune avec son propre ASC ou DESC.

Solution disponible après 3 tentatives