Oracle中的in和exits的使用比较

   

   如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用 in。

   反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用 exists。

   

   用in时             大表在前小表在后  

                          就是说使用in时,先把in里面的子查询执行完作为查询条件给外层查询使用,
                          因此他需要小表的查询在in里面    (这种查询又叫不相关子查询)

       

           

   用 exists时      小表在前大表在后 
                          使用exits时先取得外层查询的一个属性值,然后然后把这个值拿到exits的
                         子查询里面去执行,执行完毕后再取得外层父查询的下一个值,依次再来重复执行子查询(这种拿值                                                                               到exits中去一次 比较 的查询又叫相关子查询)

 
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值