Как использовать НЕ в пункте «Где»? - PullRequest
3 голосов
/ 01 ноября 2011

В чем разница, если я написал запрос NOT следующими способами.

SELECT iBatchID,COUNT(*) FROM #temp WHERE NOT iBatchID  IN (1) GROUP BY iBatchID

SELECT iBatchID,COUNT(*) FROM #temp WHERE iBatchID NOT IN (1) GROUP BY iBatchID

В чем разница, если я использую WHERE NOT iBatchID IN (1) и WHERE iBatchID NOT IN (1)?

1 Ответ

3 голосов
/ 01 ноября 2011

Разницы нет.У них будет одинаковый результат запроса.

И я считаю, что планы выполнения должны быть идентичными, но лучший способ выяснить это - зафиксировать фактические планы выполнения каждого запроса.

Iлично всегда выбирайте ... WHERE SomeCol NOT IN (...), так как это выглядит немного яснее, чем ... NOT WHERE SomeCol IN (...).Но это все личные предпочтения и то, что вы считаете более читабельным и понятным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...