ORDER BY w SQL

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

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.