ORDER BY

Базовый SQL
≈ 1 мин чтения

ORDER BY задаёт порядок результата

Без явной сортировки SQL не обещает, что строки будут возвращаться в каком-то удобном или постоянном порядке. ORDER BY делает нужный порядок частью самого запроса.

SELECT name, price
FROM products
ORDER BY price ASC;

ASC означает сортировку по возрастанию и обычно является направлением по умолчанию. Для обратного порядка используется DESC.

Можно сортировать по нескольким столбцам

SELECT name, category, price
FROM products
ORDER BY category ASC, price DESC;

Сначала строки группируются по порядку значений category. Если у нескольких строк категория совпадает, между ними применяется второй критерий — цена по убыванию.

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