junior
Для чего используется оператор ORDER BY?
ORDER BY упорядочивает результат запроса по значениям одного или нескольких столбцов. Без ORDER BY порядок строк в результате не гарантирован — СУБД может вернуть их в любом порядке, который окажется наиболее эффективным.
Для каждого столбца можно задать направление сортировки: ASC (по возрастанию, используется по умолчанию) или DESC (по убыванию). При указании нескольких столбцов сортировка применяется последовательно — сначала по первому столбцу, при равных значениях — по второму и так далее.
Пример
-- Сортировка по отделу (по возрастанию), внутри отдела — по зарплате (по убыванию)
SELECT name, department, salary
FROM employees
ORDER BY department ASC, salary DESC;
Важные детали
NULL-значения при сортировке по умолчанию считаются наибольшими в PostgreSQL (идут последними приASC). Можно управлять этим:ORDER BY column ASC NULLS FIRST- Можно сортировать по номеру столбца (
ORDER BY 2), но это ухудшает читаемость - Можно сортировать по вычисляемым выражениям и алиасам из
SELECT
На собеседовании: важно упомянуть, что без
ORDER BYпорядок строк не гарантирован. Частая ошибка — полагаться на «естественный порядок» вставки без явной сортировки.