1、查询出有3个以上下属的员工信
select * from emp e where
(select count(*) from emp where e.empno = mgr) > 3;
--关键是理解连接条件e.empno = mgr 是表示连接当前员工(e.empno)和他的下属(mgr)
2、查询所有大于本部门平均工资的员工信息
--查询所有大于本部门平均工资的员工信息
--1. 部门分组,求出每个部门平均工资,10de>3725,20de>2175,30de>1567,40>1300
select deptno,avg(sal) from emp group by deptno;
--2. 大于本部门平均工资的员工信息
select * from emp e where sal >
(select avg(sal) from emp where (deptno = e.deptno))
order by deptno;
3、查询所有工资高于平均工资的销售人员(SALESMAN
)(平均工资包括所有员工)
--1. 求所有员工的平均工资 2073
select round(avg(sal)) from emp;
--2. 求 > 平均工资人员
select ename,job from emp where sal>2073;
--3. 销售人员
select * from emp where job='SALESMAN' and sal > (select avg(sal)