SQL '08:如何计算在另一个表中找不到的一个表中的所有sku

biz*_*ess 3 sql t-sql sql-server aggregate-functions sql-server-2008

我想做一些类似于这个psuedo-SQL的东西:

SELECT COUNT(A.SKU) 
  FROM TableA as A
 WHERE a.sku NOT IN TableB
Run Code Online (Sandbox Code Playgroud)

Vin*_*ard 5

多个解决方案,例如EXISTS:

SELECT COUNT(A.SKU) AS your_count
FROM TableA
WHERE NOT EXISTS(SELECT NULL
                 FROM TableB
                 WHERE B.SKU = A.SKU);
Run Code Online (Sandbox Code Playgroud)

你也可以使用EXCEPT:

SELECT COUNT(*)
FROM (
    SELECT SKU
    FROM TableA
    EXCEPT
    SELECT SKU
    FROM TableB);
Run Code Online (Sandbox Code Playgroud)

你也可以使用NOT IN,LEFT OUTER JOIN ... WHERE B.SKU IS NULL等.