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 :
SELECT <colonne>
FROM <tabella>
[WHERE <condizione>]
ORDER BY <colonna> [ASC|DESC] [, <altra-colonna> [ASC|DESC] …];ASCest la valeur par défaut : ordre ascendant (1 → 9, A → Z, ancien → récent).DESCtrie 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
-- 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
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.
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
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.
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