Оператор ORDER BY в Oracle SQL: как управлять сортировкой результатов запроса

🟢 Введение

Ключевое слово ORDER в SQL используется в конструкции ORDER BY, которая позволяет отсортировать строки, возвращаемые запросом.
По умолчанию данные в SQL не сортируются, поэтому, если порядок важен — используйте ORDER BY.

Это особенно актуально при:

  • Выводе списков

  • Построении отчётов

  • Разработке пользовательских интерфейсов


🔤 Написание

Синтаксис:

sql
SELECT столбцы
FROM таблица
ORDER BY имя_столбца [ASC|DESC];

Пример:

sql
SELECT first_name, hire_date
FROM employees
ORDER BY hire_date DESC;

🔄 Где часто используется

  • При сортировке данных по дате, имени, числам

  • В SELECT-запросах

  • При использовании LIMIT/FETCH FIRST (TOP N)

  • В подзапросах и оконных функциях

  • В представлениях, отчётах и аналитике


🧪 10 Примеров использования ORDER с пояснениями

1️⃣ Сортировка по возрастанию (по умолчанию)

sql
SELECT first_name, salary
FROM employees
ORDER BY salary;

Сотрудники по возрастанию зарплаты.


2️⃣ Сортировка по убыванию (DESC)

sql
SELECT first_name, hire_date
FROM employees
ORDER BY hire_date DESC;

Сначала самые новые сотрудники.


3️⃣ ORDER BY с несколькими столбцами

sql
SELECT department_id, salary
FROM employees
ORDER BY department_id, salary DESC;

Сортировка по отделу, затем по зарплате внутри отдела.


4️⃣ ORDER BY по псевдониму столбца

sql
SELECT salary * 1.1 AS new_salary
FROM employees
ORDER BY new_salary DESC;

Сортировка по вычисляемому значению.


5️⃣ ORDER BY по позиции столбца

sql
SELECT first_name, last_name
FROM employees
ORDER BY 2;

Сортировка по второму столбцу (last_name).


6️⃣ ORDER BY с FETCH FIRST (TOP N)

sql
SELECT first_name, salary
FROM employees
ORDER BY salary DESC
FETCH FIRST 5 ROWS ONLY;

Топ-5 самых высокооплачиваемых.


7️⃣ ORDER BY в подзапросе

sql
SELECT * FROM (
SELECT * FROM employees
ORDER BY salary DESC
)
WHERE ROWNUM <= 10;

Классический способ получить топ-10.


8️⃣ ORDER BY в представлении

sql
CREATE OR REPLACE VIEW high_earners AS
SELECT first_name, salary
FROM employees
ORDER BY salary DESC;

Внимание: сортировка в VIEW может игнорироваться при SELECT из VIEW.


9️⃣ ORDER BY с NULLS FIRST/LAST

sql
SELECT first_name, commission_pct
FROM employees
ORDER BY commission_pct DESC NULLS LAST;

Сначала те, у кого есть бонус, потом без него.


🔟 ORDER BY с оконной функцией

sql
SELECT first_name, salary,
RANK() OVER (ORDER BY salary DESC) AS salary_rank
FROM employees;

Ранжирование по зарплате.


🧩 Заключение

Оператор ORDER BY — ваш способ контролировать порядок вывода данных.
Сортировка важна для читаемости, логики бизнес-процессов и аналитики. Без неё вы можете получить случайный, «сырой» список строк.

Понимание ORDER — ключ к красивым и полезным результатам SQL-запросов.


🔜 Следующая статья:

Оператор BY в Oracle SQL — как он используется с ORDER, GROUP и другими конструкциями

Понравилась статья? Поделиться с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии