动力节点试题练习

 1 12.取得每个薪水等级有多少员工
 2 第一步:查询出每个员工的薪水等级
 3 select 
 4     e.ename,s.grade 
 5 from 
 6     emp e
 7 join
 8     salgrade s
 9 on
10     e.sal between s.losal and s.hisal
11 order by
12     s.grade;
13 +--------+-------+
14 | ename  | grade |
15 +--------+-------+
16 | JAMES  |     1 |
17 | SMITH  |     1 |
18 | ADAMS  |     1 |
19 | MILLER |     2 |
20 | WARD   |     2 |
21 | MARTIN |     2 |
22 | ALLEN  |     3 |
23 | TURNER |     3 |
24 | BLAKE  |     4 |
25 | FORD   |     4 |
26 | CLARK  |     4 |
27 | SCOTT  |     4 |
28 | JONES  |     4 |
29 | KING   |     5 |
30 +--------+-------+
31 
32 将以上查询结果当成临时表t(ename,grade)
33 select
34     t.grade,count(t.ename) as totalEmp
35 from
36     (select 
37         e.ename,s.grade 
38     from 
39         emp e
40     join
41         salgrade s
42     on
43         e.sal between s.losal and s.hisal) t
44 group by
45     t.grade;
46 +-------+----------+
47 | grade | totalEmp |
48 +-------+----------+
49 |     1 |        3 |
50 |     2 |        3 |
51 |     3 |        2 |
52 |     4 |        5 |
53 |     5 |        1 |
54 +-------+----------+
55 复制代码

猜你喜欢

转载自www.cnblogs.com/lsswudi/p/10941016.html