Dzięki instrukcji ORDER BY można sortować dane w SQL Oracle. Chodzi o porządkowanie danych według określonych kryteriów.
Klauzula ORDER BY musi być ostatnia w wyrażeniu, jeżeli występuje z klauzulą SELECT. Należy podać, według której kolumny ma być posortowana tabela wynikowa.
Skorzystamy z tabeli EMPLOYEES z bezpłatnej bazy Oracle HR dostępnej tutaj: http://www.oracle.com/technetwork/database/express-edition/downloads/index.html
Posortujemy dane według nazwisk pracowników.
Sortować dane w SQL Oracle można za pomocą poniższego wyrażenia:
SELECT *
FROM EMPLOYEES
ORDER BY LAST_NAME
Otrzymujemy tabele wynikową:
Domyślnie SQL sortuje dane w porządku rosnącym. Aby dane sortować dane w SQL Oracle w porządku malejącym należy zastosować klauzule DESC.
SELECT *
FROM EMPLOYEES
ORDER BY LAST_NAME DESC;
Teraz posortujemy dane pracowników wg wielkości ich zarobków zaczynając od największych wartości.
SELECT *
FROM EMPLOYEES
ORDER BY SALARY DESC;
Teoretycznie można sortować dane w SQL Oracle według wielu kolumn. Program nie zgłasza tego jako błąd, niestety ustawienia większości baz danych nie pozwalają na taką formę sortowania.
SELECT *
FROM EMPLOYEES
ORDER BY SALARY DESC, LAST_NAME