使用 NOT IN 的子查询

通过 NOT IN 关键字引入的子查询也返回一列零值或更多值。

以下查询将查找不是成品自行车的产品名称。

USE AdventureWorks2008R2;
GO
SELECT Name
FROM Production.Product
WHERE ProductSubcategoryID NOT IN
    (SELECT ProductSubcategoryID
     FROM Production.ProductSubcategory
     WHERE Name = 'Mountain Bikes' 
        OR Name = 'Road Bikes'
        OR Name = 'Touring Bikes')

此语句无法转换为一个联接。这种类似但不相等连接有不同的含义:它在某个非成品自行车的子类别中查找产品名称。有关解释不基于相等的联接的含义的详细信息,请参阅联接三个或更多表

请参阅

概念