本文推荐三种方法,第三种为最高效
1.使用not in 结合 distinct
SELECT DISTINCT a.id FROM a WHERE a.id NOT in(SELECT id FROM b)
2.使用left join做关联查询且条件为关联表的id is null
SELECT * from a LEFT JOIN b ON a.id = b.id WHERE b.id IS NULL
3.充分利用count函数,若子查询的结果不为0,则表明该Id存在1条或多条,不会查询出此条记录,最高效!
select * from b where (select count(1) from a where a.ID = b.ID) = 0