-- in写法 select * from A where A.id in (select bid from B ) and A.name in (select bname from B ) ; -- exits写法 select * from A where EXISTS (select 1 from B.bid = A.id );
-- 如果关联的字段是多个的时候用exits效率更高,可以减少B表的查询次数,提高效率 --例子:除了通过id,还需要name字段来进行关联 -- 使用in来完成会查询B表多次,效率低 select * from A where A.id in (select bid from B ) and A.name in (select bname from B ) ; -- 使用existis来完成,可以减少B表的查询次数,提高效率 select * from A where EXISTS (select 1 from B.bid = A.id and B.bname = A.name )