← Назад к вопросам

Назови два вида сортировок с использованием ORDER BY

2.3 Middle🔥 161 комментариев
#Базы данных и SQL

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI6 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Виды сортировок в SQL с использованием ORDER BY

В SQL, оператор ORDER BY — это основной инструмент для упорядочивания результатов запроса. Он позволяет контролировать последовательность вывода строк в результирующем наборе данных. Условно можно выделить два основных вида (или режима) сортировки, управляемых ключевыми словами: ASC и DESC.

1. Сортировка по возрастанию (ASCENDING - ASC)

Это вид сортировки по умолчанию. Если после ORDER BY не указано ключевое слово, SQL автоматически применяет сортировку по возрастанию.

  • Принцип работы: Строки упорядочиваются от наименьшего значения к наибольшему.
  • Для числовых данных: От наименьшего числа к наибольшему (например, 1, 2, 3, ... 10).
  • Для текстовых данных (строк): В соответствии с порядком символов в кодировке (чаще всего лексикографически). Например, для латиницы: 'A', 'B', 'C', ... 'Z', 'a', 'b'.
  • Для дат: От самой ранней даты к самой поздней.
-- Пример: Сортировка сотрудников по фамилии от А до Я.
SELECT employee_id, last_name, first_name
FROM employees
ORDER BY last_name ASC; -- Ключевое слово ASC можно опустить, результат будет тем же.

-- Пример с числами: Сортировка товаров по цене от самой низкой к высокой.
SELECT product_name, price
FROM products
ORDER BY price;

2. Сортировка по убыванию (DESCENDING - DESC)

Это обратный вид сортировки, который необходимо явно указывать с помощью ключевого слова DESC.

  • Принцип работы: Строки упорядочиваются от наибольшего значения к наименьшему.
  • Для числовых данных: От наибольшего числа к наименьшему (например, 10, 9, 8, ... 1).
  • Для текстовых данных: В обратном алфавитном порядке.
  • Для дат: От самой поздней даты к самой ранней.
-- Пример: Сортировка заказов по дате, начиная с самого нового.
SELECT order_id, order_date, customer_id
FROM orders
ORDER BY order_date DESC;

-- Пример: Топ-10 самых дорогих товаров.
SELECT product_name, price
FROM products
ORDER BY price DESC
LIMIT 10;

Важное дополнение: Комбинированная сортировка по нескольким полям

На практике часто используется комбинация обоих видов в одном запросе при сортировке по нескольким столбцам. Это позволяет создавать сложные иерархии упорядочивания.

-- Пример: Сортировка сотрудников сначала по отделу (department_id) по возрастанию,
-- а внутри каждого отдела — по фамилии (last_name) в алфавитном порядке.
SELECT employee_id, last_name, first_name, department_id
FROM employees
ORDER BY department_id ASC, last_name ASC;

-- Пример: Сортировка задач: сначала по статусу 'закрыт' (DESC, если статус числовой),
-- а затем по срочности (priority) по убыванию (чтобы самые срочные были наверху).
-- Допустим, priority=1 - наивысший приоритет.
SELECT task_id, description, status, priority
FROM tasks
ORDER BY status DESC, priority ASC;

Таким образом, два базовых вида сортировки — по возрастанию (ASC) и по убыванию (DESC) — являются фундаментом для организации данных в SQL. Их комбинирование позволяет QA-инженеру:

  • Верифицировать корректность отображения данных в пользовательских интерфейсах (например, "Сортировка по цене", "Новинки первыми").
  • Проверять логику работы систем, которые используют упорядоченные выборки (топ-листы, последние транзакции).
  • Составлять точные и предсказуемые тестовые наборы данных для проверки граничных случаев.
  • Анализировать логи и результаты выполнения запросов при исследовании дефектов, связанных с данными.