Przejdź do głównej treści

ORDER BY w SQL

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

Co to jest ORDER BY w SQL?

ORDER BY to klauzula SQL służąca do sortowania wyników zapytania. Pozwala uporządkować dane rosnąco albo malejąco według jednej lub kilku kolumn.

Sortowanie rosnące

Domyślnie ORDER BY sortuje dane rosnąco, czyli ASC.

SELECT imie, nazwisko
FROM uczniowie
ORDER BY nazwisko;

To zapytanie zwróci uczniów uporządkowanych alfabetycznie według nazwiska.

Można też zapisać jawnie:

SELECT imie, nazwisko
FROM uczniowie
ORDER BY nazwisko ASC;

Sortowanie malejące

Do sortowania malejącego używa się DESC.

SELECT nazwa, cena
FROM produkty
ORDER BY cena DESC;

To zapytanie wyświetli produkty od najdroższego do najtańszego.

Sortowanie po kilku kolumnach

SELECT imie, nazwisko, klasa
FROM uczniowie
ORDER BY klasa ASC, nazwisko ASC;

Najpierw dane zostaną uporządkowane według klasy, a następnie według nazwiska.

ORDER BY a DISTINCT

ORDER BY odpowiada za kolejność danych, natomiast DISTINCT usuwa powtórzenia z wyniku.

SELECT DISTINCT miasto
FROM klienci
ORDER BY miasto ASC;

To zapytanie najpierw wybierze unikalne miasta, a następnie posortuje je alfabetycznie.

Ważne na egzaminie

Jeśli w odpowiedzi pojawia się „zostaną uporządkowane”, chodzi o ORDER BY, a nie o DISTINCT.