Что делает оператор ORDER BY в SQL?

«Что делает оператор ORDER BY в SQL?» — вопрос из категории Базы данных и SQL, который задают на 22% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

ORDER BY — это SQL-оператор для сортировки результирующего набора данных по одному или нескольким столбцам.

Синтаксис и параметры:

SELECT column1, column2
FROM table_name
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC];
  • ASC — сортировка по возрастанию (значение по умолчанию).
  • DESC — сортировка по убыванию.

Пример с многоуровневой сортировкой:

SELECT name, department, salary
FROM employees
ORDER BY department ASC, salary DESC;

Этот запрос сначала отсортирует сотрудников по отделам в алфавитном порядке, а внутри каждого отдела — по убыванию зарплаты.

Ключевые особенности:

  • Работает с любыми типами данных (числа, строки, даты).
  • Можно сортировать по алиасу столбца (ORDER BY annual_salary) или его порядковому номеру в SELECT (ORDER BY 2).
  • На больших таблицах без индексов может существенно снижать производительность.
  • ORDER BY выполняется одним из последних этапов обработки запроса, после WHERE, GROUP BY и JOIN.