ORDER BY w SQL
Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
ORDER BY to klauzula języka SQL służąca do sortowania wyników zapytania. Jeżeli w pytaniu pojawia się sformułowanie „dane zostały uporządkowane”, najczęściej należy szukać właśnie ORDER BY.
Składnia
SELECT kolumna1, kolumna2
FROM tabela
ORDER BY kolumna;
Domyślnie sortowanie odbywa się rosnąco, czyli ASC.
SELECT imie, nazwisko
FROM mieszkancy
ORDER BY wiek ASC;
To samo można zapisać krócej:
SELECT imie, nazwisko
FROM mieszkancy
ORDER BY wiek;
Sortowanie malejące
Aby posortować dane malejąco, używa się DESC:
SELECT imie, nazwisko, wiek
FROM mieszkancy
ORDER BY wiek DESC;
Wyniki zostaną ułożone od największej wartości wieku do najmniejszej.
ORDER BY z warunkiem WHERE
WHERE filtruje dane, a ORDER BY je porządkuje:
SELECT imie, nazwisko
FROM mieszkancy
WHERE wiek > 18
ORDER BY wiek;
Najpierw zostaną wybrane osoby pełnoletnie, a następnie wynik zostanie posortowany według wieku.
Ważne na egzaminie
ORDER BYoznacza sortowanie wyników.DISTINCTusuwa duplikaty, ale nie sortuje.AVG()oblicza średnią, ale nie sortuje.LIMITogranicza liczbę rekordów, ale nie porządkuje danych.
W podanym pytaniu poprawne jest zapytanie zawierające ORDER BY wiek, ponieważ tylko ono porządkuje wynik.