如果该行中的某个字段存在于另一个表中,我在排除查询中的行时遇到问题。
例如,
SELECT column1, column2
FROM Table1
让我们说结果是
**column1** **column2**
Name1 Name2
然后在表2中,还有一个column1,它也有Name1值。
如何编辑我的第一个查询以检查Table2,以及它是否在column1下也有Name1,然后排除整行?
感谢您的帮助!
答案 0 :(得分:4)
我会使用not exists
:
select t1.*
from table1 t1
where not exists (select 1
from table2 t2
where t2.column1 = t1.column1
);
答案 1 :(得分:1)
我认为使用not in
非常简单易读
SELECT t1.column1, t1.column2 FROM Table1 t1
WHERE t1.column1 NOT IN (SELECT DISTINCT t2.column1 FROM Table2 t2)