什么是子查询
1.什么是子查询
在select嵌套select
2.在什么地方使用子查询
select ... select
where ...select
from ...select
3.在where子句中使用子查询
案例:查询哪些员工是领导,显示领导的编号,姓名
第一步:查询所有领导的编号
select distinct mgr from emp;
第二步:从员工表中将领导查询出来
select empno,ename from emp where empno in(select distinct mgr from emp);
思考:查询哪些员工不是领导
select empno,ename from emp where empno not in(select distinct mgr from emp where mgr is not null);
4.在from子句中使用子查询 关键点:将子查询当作一张临时表处理
案例:查询各个部门的平均薪水的所属等级
第一步:select deptno,avg(sal) from emp group by deptno;
第二步:
select
t.deptno,t.avgsal,s.grade
from
(select deptno,avg(sal) avgsal from emp group by deptno)t
join
salgrade s
on
t.avgsal between s.losal and s.hisal;
5.
select ...select (了解)