sql in和exists
select * from AAA where id in (select id from BBB)
等价于:
select * from AAA where exists(select * from BBB where BBB.id=AAA.id)
执行顺序不同,in 先执行内层查询,exists先查询外层查询
内层表数据小,外层表数据大,使用IN适合;内层表数据大,外层表数据小使用EXISTS适合。
使用in的时候,最好是明确且有限的集合,常用来查多个字典类型的数据 dict_code in ('a','b','c')