Как я знаю, порядок выполнения в SQL: FROM-> WHERE-> GROUP BY-> HAVING -> SELECT -> ORDER BY
False.Ложь.Ложь.Предположительно, вы имеете в виду эту часть документации :
Следующие шаги показывают порядок логической обработки или порядок привязки для SELECTзаявление.Этот порядок определяет, когда объекты, определенные на одном шаге, становятся доступными для предложений на последующих шагах.
Как объясняется в документации, это относится к правилам определения объема, когда запрос проанализирован .Это не имеет ничего общего с порядком выполнение .SQL Server - как и почти для любой базы данных - оставляет за собой возможность реорганизовать запрос так, как ему нравится для обработки.
На самом деле план выполнения - это действительно ациклический ориентированный граф (DAG), компоненты которого обычно делаютне иметь отношения 1-1 с предложениями в запросе.SQL Server может выполнить ваш запрос любым способом, который он сочтет лучшим, при условии, что он создает набор результатов, который вы описали.