如何编写用于从第二个表中没有相应记录的表中选择记录的SQL语句。
示例:有两个表a
和b
。
a (id, first, second, third)
b (id, whatever)
我应该从表a
中选择所有数据,而不记录a.id = b.id
的记录。不应该选择该记录。
答案 0 :(得分:2)
SELECT * FROM a WHERE id NOT IN (SELECT id FROM b)
答案 1 :(得分:2)
使用EXISTS子查询:
SELECT *
FROM a
WHERE NOT EXISTS (SELECT 1 FROM b WHERE b.id=a.id)
没有子查询:
SELECT *
FROM a
LEFT JOIN b ON b.id=a.id
WHERE b.id is null
GROUP BY a.id
答案 2 :(得分:0)
select * from a where a.id not in (select distinct id from b)