我在代表客户交易的 MS SQL DB 中有 2 个表(比如 A 和 B)。两者共享一列(例如列 X)。
理想情况下,表 B 中的信息是表 A 中信息的子集。
如果表 B 中的所有值都存在于表 A 中,我可以运行 SQL 查询来检查基于 X 列的值吗?
谢谢
我在代表客户交易的 MS SQL DB 中有 2 个表(比如 A 和 B)。两者共享一列(例如列 X)。
理想情况下,表 B 中的信息是表 A 中信息的子集。
如果表 B 中的所有值都存在于表 A 中,我可以运行 SQL 查询来检查基于 X 列的值吗?
谢谢
select X
from A
LEFT OUTER JOIN B on A.x = B.X
WHERE B.X IS NULL
从表A
中获取不在表中的所有记录B
。或者
select X
from B
LEFT OUTER JOIN A on A.x = B.X
WHERE A.X IS NULL
从表B
中获取不在表中的所有记录A
。
这是检查表 A 中是否缺少表 B 行的检查。
SELECT b.*
FROM Table_B b
WHERE NOT EXISTS(SELECT 1
FROM Table_A a
WHERE a.x = b.x);