相关子查询与非相关子查询

子查询:嵌套在其他查询中的查询称之。
子查询又称内部,而包含子查询的语句称之外部查询(又称主查询)。
所有的子查询可以分为两类,即相关子查询和非相关子查询
1>非相关子查询是独立于外部查询的子查询,子查询总共执行一次,执行完毕后将值传递给外部查询。
2>相关子查询的执行依赖于外部查询的数据,外部查询执行一行,子查询就执行一次。
故非相关子查询比相关子查询效率高

[b]--[i]非相关子查询[/i][/b]
SELECT EMPNO, LASTNAME
    FROM EMPLOYEE
    WHERE WORKDEPT = 'A00'
     AND SALARY > (SELECT AVG(SALARY)
              FROM EMPLOYEE
              WHERE WORKDEPT = 'A00')

[b]--[i]相关子查询[/i][/b]
SELECT E1.EMPNO, E1.LASTNAME, E1.WORKDEPT
    FROM EMPLOYEE E1
    WHERE SALARY > (SELECT AVG(SALARY)
              FROM EMPLOYEE E2
              WHERE E2.WORKDEPT = E1.WORKDEPT)
    ORDER BY E1.WORKDEPT
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值