Ответ 1
Если вы хотите узнать, каков фактический порядок обработки запросов, посмотрите план выполнения. Это покажет вам шаг за шагом, что делает SQL Server.
https://technet.microsoft.com/en-us/library/ms178071(v=sql.105).aspx
Мне интересно узнать о фазе обработки логических запросов SQL-запросов.
Для запросов SELECT
порядок обработки логического запроса:
Каков порядок для INSERT
, для UPDATE
и для DELETE
?
Если вы хотите узнать, каков фактический порядок обработки запросов, посмотрите план выполнения. Это покажет вам шаг за шагом, что делает SQL Server.
https://technet.microsoft.com/en-us/library/ms178071(v=sql.105).aspx
SQL Server: Источник
У меня был тот же вопрос и я не мог найти ответ в Интернете. Поэтому я попытался логически получить ответ. Вот простой оператор UPDATE (с псевдонимом a для таблицы):
UPDATE tbl_employees a
SET a.Name = 'Anna'
WHERE a.Id = 122;
Очевидно, что SET или WHERE могут быть выполнены до того, как таблица будет идентифицирована, поэтому UPDATE должен быть первым логическим шагом. Доказательство. Псевдоним a работает (в Microsoft Access).
Прежде чем применять инструкцию SET, нужно знать, какие записи применять. Итак, WHERE должен идти как второй логический шаг (исключение WHERE изменит все записи в таблице)
Применение инструкции SET в списке записей, отфильтрованных WHERE, должно быть третьим шагом.
Подводя итог, порядок логической обработки должен быть:
Любой другой порядок кажется абсурдным (вы можете гипотетически думать о каком-либо другом порядке?).
Еще раз, это мой собственный логический вывод. Я не знаю точно. Я бы присвоил любую ссылку на серьезный интернет-ресурс.