ОсновыНачальный
ORDER BY
Сортирует результат запроса по одной или нескольким колонкам.
Синтаксис
SELECT ... FROM table ORDER BY column1 [ASC|DESC], column2 [ASC|DESC];
Объяснение
ORDER BY выполняется последним в цепочке клаузул. Направление: ASC (по умолчанию) или DESC.
Важно: без ORDER BY порядок строк не определён — не полагайся на него. При одинаковых значениях добавляй уникальную колонку (обычно id) для стабильного порядка.
Пример
-- Сортировка по нескольким полям SELECT name, salary, department FROM employees ORDER BY department ASC, salary DESC;
Связанные термины
Анекдоты по теме
— Что быстрее: WHERE id IN (1,2,3) или WHERE id = 1 OR id = 2 OR id = 3? — IN. Оптимизатор превращает его в эффективную структуру. — А WHERE id IN (SELECT id FROM другая_таблица)? — Это уже подзапрос. Смотри EXPLAIN.
— Чем коррелированный подзапрос отличается от обычного? — Обычный выполняется один раз. Коррелированный — для каждой строки внешнего запроса. — Это плохо? — Зависит от размера таблицы. При миллионе строк — миллион подзапросов.
Оптимизатор спрашивает у запроса: — Ты почему такой медленный? Запрос: — У меня в WHERE LIKE '%что-то%'. Оптимизатор: — Начальный процент? Запрос: — Ага. Оптимизатор: — Тогда я пас. Иди в full scan.