Subconsultas con NOT EXISTS

NOT EXISTS funciona igual que EXISTS, con la diferencia de que la cláusula WHERE en la que se utiliza se cumple si la subconsulta no devuelve ninguna fila.

Por ejemplo, para buscar los nombres de productos que no pertenecen a la subcategoría de ruedas:

USE AdventureWorks2008R2;
GO
SELECT Name
FROM Production.Product
WHERE NOT EXISTS
    (SELECT * 
     FROM Production.ProductSubcategory
     WHERE ProductSubcategoryID = 
            Production.Product.ProductSubcategoryID
        AND Name = 'Wheels')