Сортировка данных с помощью ORDER BY

Оператор ORDER BY в SQL используется для сортировки результатов запроса по одному или нескольким столбцам. Сортировка может быть выполнена в порядке возрастания (по умолчанию) или убывания.

Синтаксис

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

  • DESC (по убыванию) — используется для сортировки в обратном порядке.

Примеры

  1. Сортировка по одному столбцу в порядке возрастания:

SELECT first_name, last_name
FROM employees
ORDER BY last_name;
  1. Сортировка по одному столбцу в порядке убывания:

SELECT first_name, last_name
FROM employees
ORDER BY last_name DESC;
  1. Сортировка по нескольким столбцам:

SELECT first_name, last_name, salary
FROM employees
ORDER BY last_name ASC, salary DESC;

В этом примере результаты будут сначала отсортированы по last_name в порядке возрастания, а затем внутри каждой группы фамилий по salary в порядке убывания.

  1. Сортировка по вычисляемому столбцу:

SELECT first_name, last_name, salary * 12 AS annual_salary
FROM employees
ORDER BY annual_salary DESC;

В этом примере результаты будут отсортированы по годовому доходу (salary * 12), который был переименован в annual_salary.

Важные замечания

  • Производительность: Сортировка больших объемов данных может быть ресурсоемкой операцией. В таких случаях стоит рассмотреть возможность индексации столбцов, по которым выполняется сортировка.

  • NULL значения: В зависимости от реализации SQL, NULL значения могут быть рассмотрены как наименьшие или наибольшие. Это поведение можно изменить с помощью дополнительных параметров или функций.

Использование ORDER BY позволяет упорядочить данные в нужном порядке, что облегчает их анализ и представление.

Last updated