13.子查询返回多行多列的数据

来源:互联网 发布:申请淘宝商家披露信息 编辑:程序博客网 时间:2024/06/05 02:21

假设有下面两张表:

部门表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.avgfrom 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;




0 0
原创粉丝点击