子查询&union&limit&case...when...then...when...then...end
* 本博客涉及到的数据为bjpowernode.sql,数据见文末,SQL文见MySQL入门(9)文末。
* 该数据有三张表,分别是部门表dept(deptno部门编号、dname部门名称、loc位置)、
员工表emp(empno工号、ename员工姓名、job职位、mgr直属领导工号、
hiredate入职日期、sal月薪、comm补贴、deptno部门编号)、
薪水等级表salgrade(grade等级、losal区间下限、hisal区间上限)
一、子查询
子查询就是嵌套select语句
1、什么是子查询?
-select语句嵌套select语句
2、子查询可以出现在哪儿?
select...(select).
from...(select).
where...(select).
3、where后使用select子查询
案例:找出薪水比公司平均薪水高的员工,要求显示员工名和薪水
selectename,sal from emp e where sal > avg(sal);
以上语句执行报错,分组函数不能直接使用在where后
select avg(sal)from emp;【得到值AVG】
select ename,sal fromemp e where sal > AVG;
上面语句可用如下显示
select ename,sal fromemp e where sal > (select avg(sal) from emp);
4、from后使用select子查询【小窍门:将查询结果当做临时表】
案例:找出每一个部门的平均薪水,并且找出平均薪水的薪水等级
第一步:找出每个部门的平均薪水
selec