NOT IN vs NOT EXISTS

NOT IN vs NOT EXISTS

这些查询中哪一个更快?

NOT EXISTS:

SELECT ProductID, ProductName 
FROM Northwind..Products pWHERE NOT EXISTS (
    SELECT 1 
    FROM Northwind..[Order Details] od 
    WHERE p.ProductId = od.ProductId)

Or NOT IN:

SELECT ProductID, ProductName 
FROM Northwind..Products pWHERE p.ProductID NOT IN (
    SELECT ProductID 
    FROM Northwind..[Order Details])

查询执行计划说他们都做同样的事情。如果是这样的话,建议采用哪一种形式?

这是基于Northwind数据库的。

[编辑]

刚刚找到这篇有用的文章:http:/weblogs.sqlatt.com/mladenp/存档/2007/05/18/60210.aspx

我想我会坚持不存在的。


扬帆大鱼
浏览 495回答 3
3回答

白衣染霜花

如果执行计划者说他们是一样的,他们是一样的。使用任何一种会使你的意图更明显-在这种情况下,第二种。
打开App,查看更多内容
随时随地看视频慕课网APP