Als je de rijen gegarandeerd in een bepaalde volgorde wil zien, dan gebruik je daarvoor een ORDER BY.
•De standaard volgorde is oplopend. De term daarvoor is ASCENDING.
•Numerieke waarden worden getoond van klein naar groot.
•Datums worden getoond van oud naar nieuw.
•Karakters worden getoond op alfabetische volgorde.
•NULL waarden komen eerst als er standaard op ASCENDING wordt gesorteerd.
•Het tegenovergestelde van ASCENDING is DESCENDING, kortweg DESC.
De ORDER BY is de laatste regel van de query. Tenzij er nog een LIMIT gebruikt wordt, want dan komt LIMIT op de allerlaatste regel.
SELECT last_name, hire_date
FROM employees
ORDER BY hire_date;
De kolom waarop je sorteert hoeft niet opgenomen te zijn in de SELECT op de bovenste regel. Je kunt sorteren op elke kolom van de tabel.
SELECT employee_id, first_name
FROM employees
WHERE employee_id < 105
ORDER BY last_name;
Het is mogelijk een alias te gebruiken voor de ORDER BY.
SELECT last_name, hire_date AS date_started
FROM employees
ORDER BY date_started;
Het is mogelijk op meerdere kolommen te sorteren.
SELECT department_id, last_name
FROM employees
WHERE department_id <= 50
ORDER BY department_id, last_name;
Als je op meerdere kolommen sorteert, kun je ook DESC gebruiken voor elke kolom waar dat is gewenst.
SELECT department_id, last_name
FROM employees
WHERE department_id <= 50
ORDER BY department_id DESC, last_name;
NULL waarden komen als eerst aan de beurt.
SELECT last_name, commission_pct
FROM employees
ORDER BY commission_pct;
Het is ook mogelijk te sorteren op het nummer van de kolom op de SELECT regel.
SELECT first_name, last_name
FROM employees
ORDER BY 2;