Co to jest ORDER BY w SQL?
ORDER BY to klauzula języka SQL służąca do sortowania wyników zapytania SELECT według jednej lub wielu kolumn. Nie filtruje danych i nie grupuje rekordów — jedynie ustala kolejność wyświetlania zwróconych wierszy.
Podstawowa składnia
SELECT kolumna1, kolumna2
FROM tabela
ORDER BY kolumna;
Przykład sortowania uczniów według roku urodzenia:
SELECT imie, nazwisko, klasa
FROM uczniowie
ORDER BY rok_urodzenia;
Takie zapytanie zwróci imiona, nazwiska i klasy uczniów, a rekordy zostaną uporządkowane według wartości w kolumnie rok_urodzenia.
Sortowanie rosnące i malejące
Domyślnie ORDER BY sortuje dane rosnąco, czyli tak, jakby dopisano ASC:
ORDER BY rok_urodzenia ASC;
Aby sortować malejąco, należy użyć DESC:
SELECT imie, nazwisko, klasa
FROM uczniowie
ORDER BY rok_urodzenia DESC;
Sortowanie według kilku kolumn
Można sortować po więcej niż jednej kolumnie. Najpierw działa pierwsza kolumna, a przy takich samych wartościach — kolejna.
SELECT imie, nazwisko, klasa
FROM uczniowie
ORDER BY klasa, nazwisko;
Częsty błąd egzaminacyjny
WHERE służy do filtrowania rekordów, np. tylko uczniów urodzonych w 1994 roku. GROUP BY służy do grupowania danych, zwykle z funkcjami agregującymi. Do samego sortowania wyników należy używać ORDER BY.