Przejdź do głównej treści
  1. Strona główna
  2. Słownik
  3. INF.03
  4. ORDER BY w SQL

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 BY oznacza sortowanie wyników.
  • DISTINCT usuwa duplikaty, ale nie sortuje.
  • AVG() oblicza średnią, ale nie sortuje.
  • LIMIT ogranicza 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.