Oracle分组查询练习


select * from emp;
--1. 求emp表中所有员工的工资和,及平均工资
select sum(sal),avg(sal) from emp;
--2.求每个部门的平均工资和工资总额
select deptno,avg(sal),sum(sal) from emp group by deptno;
--3. 求每个部门的最高和最低工资及该部门的员工人数
select deptno,max(sal),min(sal),count(empno) from emp group by deptno;
--4. 显示平均工资高于 2000 的部门号和它的平均工资
select deptno,avg(sal) from emp group by deptno having avg(sal)>2000;
--5. 统计各部门下工资>1000 的员工的平均工资
select deptno,avg(sal) from emp where sal>1000 group by deptno;
--6. 统计各部门下平均工资大于 2000 的部门
select depno,avg(sal) from emp group by deptno having avg(sal)>2000;
--7. 算出部门 30员工中的最高奖金
select max(comm) from emp where deptno=30 group by deptno;
--8. 算出各工种的人数,及最低工资
select job,count(ename),min(sal) from emp group by job;
--9. 列出员工表中每个部门的员工数和部门编号
select deptno,count(empno) from emp group by deptno;
--11. 查询每个工种每月所需支付的基本工资
select job,sum(sal) from emp group by job;
--12 . 查询每个工种的平均工资
select job,avg(sal) from emp group by job;
--13. .查询每个部门中各个工种的最低工资
select deptno,job,min(sal) from emp group by deptno,job order by deptno;
--14. 查询每个工种的最高基本工资,并按基本工资从大到小排序
select job,max(sal) from emp group by job order by max(sal) desc;
--15. 查询除了20部门以外其它部分的平均工资
select deptno,avg(sal) from emp where deptno<>20 group by deptno;
--16. 查询平均工资大于3000的工种信息
select distinct job from (select job,avg(sal) as avgsal from emp group by job) where avgsal>3000;
--17. 查询除了CLERK,MANAGER工种以外的工种最高基本工资。
select job,max(sal) from emp where job<>'CLERK' and job<>'MANAGER' group by job;
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值