oracle 学习笔记

来源:互联网 发布:外文电子期刊数据库 编辑:程序博客网 时间:2024/05/18 03:36

相关子查询的执行顺序

一般先执行子查询,再执行主查询;但相关子查询例外。

相关子查询的概念

SQL> --相关子查询:将主查询中的值 作为参数传递给子查询

具体使用

SQL> select empno,ename,sal,(select avg(sal) from emp where deptno=e.deptno) avgsal  2  from emp e  3  where sal > (select avg(sal) from emp where deptno=e.deptno);     EMPNO ENAME             SAL     AVGSAL                                                                                                                                                             ----------------------------------------------                                                                                                                                                                   7499 ALLEN            1600 1566.66667                                                                                                                                                                   7566 JONES            2975       2175                                                                                                                                                                   7698 BLAKE            2850 1566.66667                                                                                                                                                                   7788 SCOTT            3000       2175                                                                                                                                                                   7839 KING             5000 2916.66667                                                                                                                                                                   7902 FORD             3000       2175  -- 等价于下面的多表查询select e.empno,e.ename,d.avgsalfrom emp e,(select deptno,avg(sal) avgsal from emp group by deptno) dwhere e.deptno = d.deptno and e.sal > d.avgsal;                 
原创粉丝点击