【oracle】-子查询:关联子查询与非关联子查询的区别...

关联子查询和非关联子查询

1、关联子查询

  • 说明

    外层查询的每一行数据,内部查询都会再查询一次。


  • 特点

    1、子查询不能单独运行,是和外查询相关的

    2、先执行外层查询,再执行内层查询


  • 示例

    如下例,在子查询中用到了外层查询的字段(t.deptno),且不能单独运行(因为用到了外层查询的字段)

select t.*, t.rowid  from dept t where exists (select 1 from emp e where e.deptno = t.deptno); 



2、非关联子查询

  • 说明

    子查询先将值查询出来,然后再返回给外层查询。


  • 特点

    1、子查询能单独运行

    2、先执行内层查询,再执行外层查询


  • 示例

    如下所示,子查询的语句可以单独执行–》 select max(e.deptno) from emp e

select t.*, t.rowid  from dept t where t.deptno = (select max(e.deptno) from emp e); 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值