查詢出部門名稱、部門的員工數、部門的平均工資、部門的最低收入僱員姓名和最高收入僱員的姓名,平均工資僱員

來源:互聯網
上載者:User

查詢出部門名稱、部門的員工數、部門的平均工資、部門的最低收入僱員姓名和最高收入僱員的姓名,平均工資僱員

如題:

查詢出部門名稱、部門的員工數、部門的平均工資、部門的最低收入僱員姓名和最高收入僱員的姓名


這是oracle的預設Scott使用者下面的emp 和 dept 表間的一道思考題。



 僱員表(emp)

記錄了每個僱員的基本資料

 

NO  欄位         類型            描述

1     empno       Number(4)    僱員編號

2     ename       Varchar2(10)      僱員姓名

3     job         Varchar2(9)     工作職位

4     mgr       Number(4)           僱員的領導(經理)編號

5     hierdate      date          入職日期

6     sal          Number(7,2)    月薪/工資

7     comm        Number(7,2)    獎金

8     deptno        Number(2)      僱員所屬部門的編號


 部門表(emp)

記錄了每個部門的基本資料

 

NO  欄位       類型             描述

1     deptno     Number(2)       部門編號(唯一)

2     dname     Varchar2(14)     部門名稱

3     loc       Varchar2(13)     地址


分析:要查詢出部門的員工數,平均工資,最低收入僱員姓名和最高收入僱員姓名,必須Crowdsourced Security Testing道部門的最高收入和最低收入


第一步:查詢出部門名稱,部門員工數,部門平均工資,部門最低收入和最高收入

select deptno, count(*), avg(sal), min(sal), max(sal) from emp group by deptno;


第二步:查詢最低收入者的姓名

select e.ename from emp e, (select deptno, count(*), avg(sal), min(sal) min_sal, max(sal) max_sal from emp group by deptno) t where e.deptno = e.deptnoand (e.sal = min_sal);


同理,也可以查詢最高收入者的姓名

select e.ename from emp e, (select deptno, count(*), avg(sal), min(sal) min_sal, max(sal) max_sal from emp group by deptno) t where e.deptno = e.deptnoand (e.sal = max_sal);


那如何同時查詢最低收入者和最高收入者的姓名呢?


第三步:給第一次查詢出來的部門最高收入和最低收入同時關聯兩張emp 表,分別擷取最高收入者和最高收入者的姓名

select d.dname, t.nu, t.avg_sal, t.min_sal, t.max_sal, e.ename, s.ename from dept d, emp e, emp s ,(select deptno, count(*) nu, avg(sal) avg_sal, min(sal) min_sal, max(sal) max_sal from emp group by deptno) twhere d.deptno = t.deptno and (e.deptno = t.deptno and e.sal = t.min_sal) and (s.deptno = t.deptno and s.sal = t.max_sal);





相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.