阅读背景:

Oracle相关子查询和分级查询举例

来源:互联网 

1.相关子查询

--类似not in的查询条件会受到子查询中null值的影响,通常会排除子查询中的空值
SELECT ename
  FROM emp
 WHERE empno NOT IN (SELECT mgr FROM emp WHERE mgr IS NOT NULL);
 
--有一种查询,出现了本部门,本公司之类的字眼,通常需要用到相关子查询
--输出员工的姓名,工资,和本部门的平均工资
--使用别名,将外层查询的表与内层查询的表区分开
select ename,sal,(select avg(sal) from emp e2 where e2.deptno=e1.deptno)
from emp e1;

--练习,输出 员工姓名,他的经理所在部门的平均工资
--查询的嵌套可以有多层
SELECT ename,
       (SELECT AVG(sal)
          FROM emp
         WHERE deptno = (SELECT deptno FROM emp e2 WHERE e2.empno = e1.mgr))
  FROM emp e1;
--类似not in的查询条件会受到子查询中null值的影响,通常会



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: