1.分组统计各部门下工资>500 的员工的平均工资、
Select avg(sal) from emp where sal>500 group by deptno ;
2.统计各部门下平均工资大于 500 的部门
select deptno,avg(sal) from emp group by deptno having avg(sal)>500 ;
3.算出部门 30 中得到最多奖金的员工奖金
Select max(comm) from emp where deptno = 30 ;
4.算出部门 30 中得到最多奖金的员工姓名
select ename from emp where comm = (select max(comm) from emp where
deptno=30);
5.算出每个职位的员工数和最低工资
Select job,min(sal),count(*) from emp group by job;
6.算出每个部门,, 每个职位的平均工资和平均奖金(平均值包括没有奖金), 如果平均奖金大于 300, 显示 “奖
金不错” ,如果平均奖金 100 到 300,显示“奖金一般” ,如果平均奖金小于 100,显示“基本没有奖金” ,
按部门编号降序,平均工资降序排列
Select avg(sal),
avg(nvl(comm,0)),
case
when avg(nvl(comm,0))>300 then '奖金不错'
when avg(nvl(comm,0))>100 and avg(nvl(comm,0))<300 then '奖金一般'
when avg(nvl(comm,0))=0 then '没有奖金'
end 奖金状况
from emp t
group by job
order by job desc,avg(sal) desc;
7.列出员工表中每个部门的员工数,和部门 no
Select count(*),deptno from emp group by deptno;
8.得到工资大于自己部门平均工资的员工信息
select * from emp e1,
(select deptno,avg(sal) as avgsal from emp group by deptno) e2
where
e1.deptno=e2.deptno and e1.sal > e2.avgsal;
9.分组统计每个部门下,每种职位的平均奖金(也要算没奖金的人)和总工资(包括奖金)
select deptno,job,avg(nvl(comm,0)),sum(sal+nvl(comm,0)) from emp group by deptno,job;
Select avg(sal) from emp where sal>500 group by deptno ;
2.统计各部门下平均工资大于 500 的部门
select deptno,avg(sal) from emp group by deptno having avg(sal)>500 ;
3.算出部门 30 中得到最多奖金的员工奖金
Select max(comm) from emp where deptno = 30 ;
4.算出部门 30 中得到最多奖金的员工姓名
select ename from emp where comm = (select max(comm) from emp where
deptno=30);
5.算出每个职位的员工数和最低工资
Select job,min(sal),count(*) from emp group by job;
6.算出每个部门,, 每个职位的平均工资和平均奖金(平均值包括没有奖金), 如果平均奖金大于 300, 显示 “奖
金不错” ,如果平均奖金 100 到 300,显示“奖金一般” ,如果平均奖金小于 100,显示“基本没有奖金” ,
按部门编号降序,平均工资降序排列
Select avg(sal),
avg(nvl(comm,0)),
case
when avg(nvl(comm,0))>300 then '奖金不错'
when avg(nvl(comm,0))>100 and avg(nvl(comm,0))<300 then '奖金一般'
when avg(nvl(comm,0))=0 then '没有奖金'
end 奖金状况
from emp t
group by job
order by job desc,avg(sal) desc;
7.列出员工表中每个部门的员工数,和部门 no
Select count(*),deptno from emp group by deptno;
8.得到工资大于自己部门平均工资的员工信息
select * from emp e1,
(select deptno,avg(sal) as avgsal from emp group by deptno) e2
where
e1.deptno=e2.deptno and e1.sal > e2.avgsal;
9.分组统计每个部门下,每种职位的平均奖金(也要算没奖金的人)和总工资(包括奖金)
select deptno,job,avg(nvl(comm,0)),sum(sal+nvl(comm,0)) from emp group by deptno,job;