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值的影响,通常会