SELECT * FROM A WHERE id IN(SELECT id FROM B)
in先做子查询
适合B表数据比A表数据小
当A表数据不变时,B表数据越大,匹配可能需要循环的次数也越多
SELECT * FROM A a WHERE EXISTS(SELECT id FROM B a WHERE a.id=b.id)
exists后做子查询
适合B表数据比A表数据大
EXISTS表达式返回的结果是true或false
循环次数取决于A表数据大小,子查询只查询一次,当B数据越大,查询效率越明显