Упрощённый логический порядок для этих частей: FROM → WHERE → SELECT → ORDER BY → LIMIT. Физический план исполнения может быть устроен иначе.
В каком порядке выполняются части SQL-запроса: SELECT, FROM, WHERE, ORDER BY, LIMIT?
Упрощённый логический порядок для этих частей: FROM → WHERE → SELECT → ORDER BY → LIMIT. Физический план исполнения может быть устроен иначе.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Упрощённый логический порядок для этих частей: FROM → WHERE → SELECT → ORDER BY → LIMIT. Физический план исполнения может быть устроен иначе.
Сначала формируется исходный набор, затем фильтруются строки, вычисляется проекция, задаётся порядок и ограничивается результат. GROUP BY, HAVING и оконные функции добавляют свои этапы, если присутствуют. Оптимизатор может переставлять безопасные операции и использовать индекс, поэтому логический порядок не является пошаговым описанием работы движка. Без ORDER BY LIMIT не гарантирует стабильный набор строк. Видимость aliases зависит от этапа и правил конкретной СУБД.