假设有下面两张表:
部门表dept
雇员表emp
列出公司各个部门的经理的姓名、薪金、部门名称、部门人数、部门平均工资。
步骤1:查找每个部门经理的姓名和薪金。
select ename,sal from emp where job='MANAGER';
步骤2:连接dept表,查询部门名称。
select e.ename,e.sal,d.dname from emp e,dept d where job='MANAGER' and e.deptno=d.deptno;
步骤3:使用emp表统计信息,在From子句之后编写统计的子查询。
select e.ename,e.sal,d.dname,temp.count,temp.avg
from emp e,dept d,(
select deptno dno,COUNT(empno) count,ROUND(AVG(sal),2) avg
from emp
group by deptno) temp
where job='MANAGER'
and e.deptno=d.deptno
and e.deptno=temp.dno;