7_SQL. Jak sortować dane w SQL Oracle?

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