Как можно упорядочить колонку по возрастанию в SQL?

«Как можно упорядочить колонку по возрастанию в SQL?» — вопрос из категории Базы данных и SQL, который задают на 24% собеседований AQA / Automation. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для сортировки результатов запроса по возрастанию используется оператор ORDER BY с ключевым словом ASC (по умолчанию, его можно опустить).

Базовый синтаксис:

SELECT column1, column2
FROM table_name
ORDER BY column1 ASC; -- Сортировка column1 по возрастанию
-- или просто ORDER BY column1

Примеры:

  1. Сортировка по одной колонке:
    SELECT name, salary FROM employees ORDER BY salary;
    -- Сотрудники от самой низкой к самой высокой зарплате.
  2. Сортировка по нескольким колонкам:
    SELECT department, name, hire_date
    FROM employees
    ORDER BY department ASC, hire_date DESC;
    -- Сначала сортировка по отделу (от A до Z), 
    -- затем внутри отдела по дате приема (от новых к старым).
  3. Сортировка по выражению или порядковому номеру столбца в SELECT:
    SELECT name, salary * 12 as annual_salary
    FROM employees
    ORDER BY annual_salary; -- По алиасу
    -- Или ORDER BY 2 (по второму столбцу в выборке)

Ключевые моменты:

  • ASC (Ascending) — порядок по возрастанию (A-Z, 0-9). Это значение по умолчанию.
  • DESC (Descending) — порядок по убыванию.
  • ORDER BY выполняется одним из последних в запросе, после WHERE, GROUP BY, HAVING.
  • Для сортировки по NULL значениям поведение зависит от СУБД (обычно NULL считаются наибольшими значениями при ASC).