ORDER BY to klauzula SQL służąca do sortowania wyniku zapytania. Nie filtruje rekordów, lecz ustawia kolejność wierszy zwróconych przez SELECT.
Składnia
SELECT kolumna1, kolumna2
FROM tabela
ORDER BY kolumna ASC;
Sortowanie może być:
- ASC - rosnące, od najmniejszej wartości do największej; jest to ustawienie domyślne,
- DESC - malejące, od największej wartości do najmniejszej.
Przykład
SELECT nazwa_towaru
FROM Towar
WHERE cena_katalogowa < 65
ORDER BY waga DESC;
Zapytanie wykonuje się logicznie tak:
1. wybiera dane z tabeli Towar,
2. filtruje rekordy warunkiem cena_katalogowa < 65,
3. zwraca tylko kolumnę nazwa_towaru,
4. sortuje wynik według kolumny waga malejąco.
Ważne: kolumna użyta w ORDER BY nie musi być wyświetlana w wyniku zapytania. Można sortować po waga, mimo że w SELECT znajduje się tylko nazwa_towaru.
Typowe zastosowania
ORDER BY cena ASC; -- od najtańszych
ORDER BY data DESC; -- od najnowszych
ORDER BY nazwisko; -- domyślnie rosnąco
W zadaniach egzaminacyjnych należy najpierw zastosować WHERE, a dopiero potem ustalić kolejność rekordów według ORDER BY.