По умолчанию строки в таблице базы данных или в наборе результатов запроса не обязательно следуют в каком-либо определенном порядке. Чтобы расположить выходные строки в осмысленной последовательности, мы используем оператор ORDER BY.
Оператор ORDER BY добавляется в конец инструкции SELECT для сортировки результирующего набора на основе одного или нескольких столбцов.
SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;
column1, column2, ...: Столбцы, по которым вы хотите выполнить сортировку.ASC: Сортирует данные по возрастанию (от меньшего к большему, от А до Я). Это значение по умолчанию.DESC: Сортирует данные по убыванию (от большего к меньшему, от Я до А).Чтобы выполнить сортировку по одному столбцу, просто укажите его имя после ключевого слова ORDER BY.
Этот запрос извлекает всех актеров и сортирует их в алфавитном порядке по фамилии.
SELECT first_name, last_name
FROM actor
ORDER BY last_name;
Если вы хотите отсортировать их в обратном алфавитном порядке:
SELECT first_name, last_name
FROM actor
ORDER BY last_name DESC;
Вы можете сортировать результаты по нескольким столбцам, перечислив их через запятую. База данных сначала выполняет сортировку по первому столбцу, а если в этом столбце есть одинаковые значения, она сортирует эти дубликаты по второму столбцу и так далее.
Это полезно, когда несколько актеров имеют одинаковую фамилию.
SELECT first_name, last_name
FROM actor
ORDER BY last_name, first_name; -- Сначала по last_name, затем по first_name при совпадениях
В большинстве диалектов SQL вы также можете выполнять сортировку по псевдониму столбца или его порядковому номеру в списке SELECT.
SELECT first_name || ' ' || last_name AS full_name
FROM actor
ORDER BY full_name;
-- Сортировка по второму столбцу (last_name)
SELECT first_name, last_name
FROM actor
ORDER BY 2;
Ключевые выводы этого урока:
ORDER BY для сортировки строк в результирующем наборе.ASC (по умолчанию) сортирует по возрастанию; DESC сортирует по убыванию.В следующем уроке мы изучим агрегатные функции, которые позволяют нам выполнять вычисления над наборами данных.