如果我以下列方式编写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)
之间有什么区别?
答案 0 :(得分:3)
没有区别。它们将具有相同的查询结果。
我相信执行计划应该是相同的,但找到它的最佳方法是捕获每个查询的实际执行计划。
我个人总是选择... WHERE SomeCol NOT IN (...)
,因为它比... NOT WHERE SomeCol IN (...)
更清晰。但这是所有个人偏好以及您认为更具可读性和可维护性的内容。