piątek,
SQL: Klauzula ORDER BY
Klauzula 'ORDER BY' w SQL jest używana do sortowania wyników zapytania według jednej lub więcej kolumn. Pozwala to na prezentowanie danych w określonym porządku, rosnącym lub malejącym, co jest szczególnie użyteczne dla użytkowników końcowych, gdy chcą oni przeglądać dane w logiczny i uporządkowany sposób.
Podstawowa składnia
Podstawowa składnia ORDER BY
wygląda następująco:
SELECT kolumna1, kolumna2, ...
FROM tabela
ORDER BY kolumna1 [ASC|DESC], kolumna2 [ASC|DESC], ...;
kolumna1
,kolumna2
, ... – kolumny, według których cbędą sortowane wyniki.ASC
– słowo kluczowe określające sortowanie rosnące (Ascending). Jest to domyślny sposób sortowania.DESC
– słowo kluczowe określające sortowanie malejące (Descending).
Przykłady
Sortowanie według jednej kolumny
Sortuj dane w tabeli pracownicy
według nazwiska w porządku rosnącym:
SELECT * FROM pracownicy
ORDER BY nazwisko ASC;
Sortowanie według kilku kolumn
Sortuj dane w tabeli zamówienia
najpierw według daty zamówienia malejąco, a następnie według kwoty zamówienia rosnąco:
SELECT * FROM zamówienia
ORDER BY data_zamówienia DESC, kwota ASC;
Wartości NULL
Warto zauważyć, że NULL
jest traktowany specjalnie w kontekście klauzuli ORDER BY
. Domyślnie wartości NULL
są traktowane jako niższe niż jakiekolwiek inne wartości i są umieszczane na początku przy sortowaniu rosnącym, a na końcu przy sortowaniu malejącym. Niektóre systemy baz danych pozwalają na modyfikację tego zachowania za pomocą specjalnych klauzul.
Uwagi
- Użycie
ORDER BY
może wpływać na wydajność zapytań, szczególnie w dużych tabelach. Dlatego warto odpowiednio indeksować kolumny, które są często używane wORDER BY
. ORDER BY
jest szczególnie użyteczne w połączeniu zLIMIT
iOFFSET
do implementacji funkcji paginacji.