什么是子查询


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 (了解)

posted @ 2019-04-07 16:17  青蛙跳跳  阅读(1433)  评论(0编辑  收藏  举报