我有两个相同的表A和B.两个表都有相同的字段,例如表A(bin,存储,工厂)和B(bin,存储,工厂)。但是当我检查数据时,表A有5238行,B有5249行。所以我不知道哪11行丢失了。我需要帮助来编写一个查询,我可以找到那些丢失的行。
感谢您的帮助。
答案 0 :(得分:4)
可以使用EXCEPT
命令解决您的问题:
SELECT bin
FROM tableB
EXCEPT
SELECT bin
FROM tableA;
显示tableB中但不在tableA中的所有bin。
答案 1 :(得分:1)
select *
from tableA
full outer join tableB on tableA.bin = tableB.bin
where tableA.bin is null or tableB.bin is null
SQL-Server允许full outer join
。您可以从两个表中选择所有记录,并将结果限制为在另一个表上找不到连接的匹配项。