叨叨两句
- 牛客网Java习题刷完了,换SQL习题接着刷
SQL习题001
1
查询 薪资 大于 薪资最高的员工所在部门 的平均工资 和 薪资最低的员工所在部门 的平均工资 的平均工资 的员工信息。
-- 查询 薪资 大于 薪资最高的员工所在部门 的平均工资 和 薪资最低的员工所在部门 的平均工资 的平均工资 的员工信息。
-- sal > 10 200 20 100 (100+200)/2
-- sal > (100+200)/2
-- 1.薪资最高的员工所在部门
select max(sal) from emp;
-- 10号部门
select deptno from emp where sal = (select max(sal) from emp);
-- 2. 10号部门的平均工资 2916
select avg(sal) from emp where deptno = (select deptno from emp where sal = (select max(sal) from emp));
-- 3.薪资最低的员工所在部门
select min(sal) from emp;
-- 20号部门
select deptno from emp where sal = (select min(sal) from emp);
-- 4. 20号部门的平均工资 2175
select avg(sal) from emp where deptno = (select deptno from emp where sal = (select min(sal) from emp));
-- 5. 计算10和20号部门平均工资的平均工资
select (2916+2175)/2 from dual;
-- 6. 结果
select *
from emp
where sal >
((select avg(sal)
from emp
where deptno = (select deptno
from emp
where sal = (select max(sal) from emp))) +
(select avg(sal)
from emp
where deptno = (select deptno
from emp
where sal = (select min(sal) from emp)))) / 2;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。