|  1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
 | -- 8.	显示平均工资为>2000的职位
select "JOB"
from emp 
group by "JOB"
having avg(sal) > 2000;
-- 9.	计算工资在2000以上,各种职位的平均工资大于3000的职位及平均工资
select "JOB", avg(sal) avgsal
from emp
group by "JOB"
having avg(sal) > 3000 and min(sal) > 2000;
-- 10.	找每个部门的最高和最低的工资
select deptno, max(sal), min(sal)
from emp
group by deptno;
-- 11.	找每个部门中每种职位的最高和最低的工资
select deptno, "JOB", max(sal), min(sal)
from emp 
group by deptno, "JOB";
-- 12.	显示出工作名称(job)中包含"MAN"的员工平均工资,最高工资,最低工资及工资的和
select avg(sal) avgsal, max(sal) maxsal, min(sal) minsal, sum(sal) sumsal
from emp
where "JOB" like '%MAN%';
-- 13.	显示出20号部门的员工人数
select count(*) 
from emp
where deptno = 20;
-- 14.	显示出平均工资大于2000的部门名称及平均工资
select d1.dname, d2.avgsal
from dept d1, (select deptno, avg(sal) avgsal
               from emp
               group by deptno
               having avg(sal) > 2000) d2
where d1.deptno = d2.deptno;
-- 15.	显示每个部门每种工作平均工资大于2500的部门及工作
select deptno, "JOB"
from emp
group by deptno,"JOB"
having avg(sal)>2500;
-- 16.	显示出工作名称中包含"MAN",并且平均工资大于1000的工作名称及平均工资
select "JOB", avg(sal) avgsal
from emp
where "JOB" like '%MAN%'
group by "JOB"
having avg(sal)>1000;
-- 17.	显示出平均工资最高的的部门平均工资
select max(avgsal)
from (select avg(sal) avgsal
      from emp
      group by deptno);
-- 18.	列出最低工资大于1500的各种工作
select "JOB"
from emp
group by "JOB"
having min(sal) > 1500;
-- 19.	列出各部门的员工数量及平均工作年限
select deptno, count(*), avg((sysdate-hiredate)/365)
from emp
group by deptno;
 |