我很欣赏这对你们来说可能非常简单,但有时候JOIN背后的逻辑对初学者来说可能很难。我想选择" ID"来自table1,但只有那些没有出现在table2中的ID" ID"。我测试了LEFT和RIGHT,但无法让它以我需要的方式工作。我正在使用dashDB。
答案 0 :(得分:2)
试试这个......
SELECT *
FROM table1
LEFT JOIN table2 ON table1.ID = table2.ID
WHERE table2.ID IS NULL
答案 1 :(得分:2)
我总是更喜欢NOT EXISTS
来执行此操作
Select * from table1 a
where NOT EXISTS (select 1 from table2 b where a.id = b.id);
这是 Aaron Bertrand 的一篇优秀文章,它比较了所有方法的表现
Should I use NOT IN, OUTER APPLY, LEFT OUTER JOIN, EXCEPT, or NOT EXISTS?
答案 2 :(得分:1)
您可以使用NOT IN和子查询
Select * from table1 where id NOT IN (select id from table2);
答案 3 :(得分:1)
使用以下脚本。
SELECT t1.ID
FROM table1 t1
LEFT JOIN table2 t2 ON t1.ID = t2.ID
WHERE t2.ID IS NULL