SQL '08: How to count all sku' 在一个表中找不到另一个表

标签 sql sql-server tsql sql-server-2008 aggregate-functions

我想做一些类似于这个伪 SQL 的事情:

SELECT COUNT(A.SKU) 
  FROM TableA as A
 WHERE a.sku NOT IN TableB

最佳答案

多个解决方案,例如 EXISTS :

SELECT COUNT(A.SKU) AS your_count
FROM TableA
WHERE NOT EXISTS(SELECT NULL
                 FROM TableB
                 WHERE B.SKU = A.SKU);

你也可以使用 EXCEPT :

SELECT COUNT(*)
FROM (
    SELECT SKU
    FROM TableA
    EXCEPT
    SELECT SKU
    FROM TableB);

您还可以使用 NOT IN、LEFT OUTER JOIN ... WHERE B.SKU IS NULL 等

关于SQL '08: How to count all sku' 在一个表中找不到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4081109/

相关文章:

sql - SQL Server 执行计划中的并行性

sql - 如何在 dbplyr-query 中的 summarise-function 中获取组的第一行

sql-server - 如何使用 T-SQL 从过程中返回空结果集?

mysql - 比较sql中的两个值

sql - 解析 SQL - 从表中选择的所有 Teradata 关键字

sql-server - SQL Server : Index columns used in like?

SQLServer 子查询单元作为列

sql-server - 适合 Oracle 开发人员/dba 的 SQL Server

sql-server - 删除其他表未引用的行的优雅方法

mysql - sql : Side effects of creating/deleting databases and tables on the fly