ORDER BY w SQL

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

Opublikowano: Zaktualizowano:

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.