首页 > 数据库技术 > 详细

sql优化,如何将in换为exists

时间:2019-07-19 00:26:02      阅读:126      评论:0      收藏:0      [点我收藏+]

原sql语句

-- 根据权限表查出该用户拥有的所有权限菜单
select * from tb_power where id in(
 select power_id  from  tb_role_power where role_id in(
   select role_id from tb_user_role where userid=1
 )
)

优化后

1 -- 优化
2 select * from tb_power  p where  exists(
3  select power_id  from  tb_role_power rp where  exists(
4    select 1 from tb_user_role ur where userid=1 and ur.role_id=rp.role_id
5  )  and p.id=rp.power_id
6 )

 

sql优化,如何将in换为exists

原文:https://www.cnblogs.com/yanpingping/p/11210699.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!