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')

posted @ 2022-08-01 16:26  ジ绯色月下ぎ  阅读(19)  评论(0编辑  收藏  举报