Module 1 · Lesson 4 of 44/57 in the course~8 min
Module lessons (4/4)
Sorting with ORDER BY
SQL does not guarantee the order of the rows returned by a SELECT: if you
want a deterministic order, you have to ask for it explicitly with
ORDER BY:
SQL
SELECT <colonne>
FROM <tabella>
[WHERE <condizione>]
ORDER BY <colonna> [ASC|DESC] [, <altra-colonna> [ASC|DESC] …];ASCis the default: ascending order (1 → 9, A → Z, old → recent).DESCsorts descending (9 → 1, Z → A, recent → old).- You can sort by multiple columns: the second criterion breaks ties of the first.
Examples
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;Try it
Exercise#sql.m1.l4.e1
Attempts: 0Loading…
Extract last name (last_name) and salary (salary) of all employees, sorted from the highest salary to the lowest.
Loading editor…
Show hint
ORDER BY salary DESC puts the highest-paid employees first.
Solution available after 3 attempts
Review exercise
Exercise#sql.m1.l4.e2
Attempts: 0Loading…
Extract last name (last_name), department_id and salary (salary) of all employees, sorted first by department_id ascending and, within the same department, from the highest salary to the lowest.
Loading editor…
Show hint
You can pass two columns separated by a comma to ORDER BY, each with its own ASC or DESC.
Solution available after 3 attempts