Vai al contenuto
eLearner.app
Modulo 1 · Lezione 4 di 44/57 nel corso~8 min
Lezioni del modulo (4/4)

Ordinare con ORDER BY

SQL non garantisce l'ordine delle righe restituite da un SELECT: se vuoi un ordine deterministico, devi chiederlo esplicitamente con ORDER BY:

SQL
SELECT <colonne>
FROM   <tabella>
[WHERE <condizione>]
ORDER BY <colonna> [ASC|DESC] [, <altra-colonna> [ASC|DESC] …];
  • ASC è il default: ordine crescente (1 → 9, A → Z, vecchio → recente).
  • DESC ordina decrescente (9 → 1, Z → A, recente → vecchio).
  • Puoi ordinare per più colonne: il secondo criterio rompe i pareggi del primo.

Esempi

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;

Prova tu

Esercizio#sql.m1.l4.e1
Tentativi: 0Caricamento…

Estrai cognome (last_name) e stipendio (salary) di tutti i dipendenti, ordinati dallo stipendio più alto al più basso.

Caricamento editor…
Mostra suggerimento

ORDER BY salary DESC mette per primi i più pagati.

Soluzione disponibile dopo 3 tentativi

Esercizio di ripasso

Esercizio#sql.m1.l4.e2
Tentativi: 0Caricamento…

Estrai cognome (last_name), department_id e stipendio (salary) di tutti i dipendenti, ordinati prima per department_id crescente e, a parità di dipartimento, dallo stipendio più alto al più basso.

Caricamento editor…
Mostra suggerimento

Puoi passare a ORDER BY due colonne separate da virgola, ognuna con il suo ASC o DESC.

Soluzione disponibile dopo 3 tentativi