ORDER BY – sortowanie wyników zapytania – Kurs SQL
W języku SQL możesz sortować wynik zapytania stosując klauzulę ORDER BY. Sortowanie może odbywać się po jednej, bądź wielu kolumnach. Dodatkowo możesz wskazać czy posortowane dane mają być wyświetlane w kolejności:
ASC
– rosnącej (domyślne ustawienie)DESC
– malejącej
Czas na przykłady. Oprzemy je o poniższą przykładową tabelę wynagrodzenia.
Przykład 1:
Posortujmy tabelę wynagrodzenia
po polu wynagrodzenie
w kolejności malejącej (DESC
)
SELECT * FROM wynagrodzenia ORDER BY wynagrodzenie DESC;
W niektórych silnikach bazodanowych przy sortowaniu zamiast nazwy kolumny możesz podawać numer jej wystąpienia w zapytaniu. Dla przykładu kolumna wynagrodzenie występuje na 4 pozycji, zatem zapytanie może wyglądać również jak poniżej:
SELECT * FROM wynagrodzenia ORDER BY 4 DESC;
Wynik obu powyższych zapytań będzie taki sam i wygląda następująco:
Przykład 2:
Tym razem do sortowania wykorzystamy dwie kolumny. Niech będą to miesiąc rosnąco (ASC
) oraz id_pracownika malejąco (DESC
). Spójrzmy na gotowe zapytanie SQL:
SELECT * FROM wynagrodzenia ORDER BY miesiac ASC, id_pracownika DESC;
lub odpowiednik z wykorzystaniem numerów kolumn:
SELECT * FROM wynagrodzenia ORDER BY 2 ASC, 1 DESC;