达内学习日志Day30:分组查询

Oracle作业3:分组查询

1>.查询各职位的员工工资的最大值,最小值,平均值以及总和

SELECT job,MAX(sal),MIN(sal),AVG(sal),SUM(sal) FROM emp GROUP BY job;


2>.查询各职位的员工人数

SELECT job,COUNT(*) FROM emp GROUP BY job;


3>.查询员工的最高工资和最低工资的差距,并显示列名为DIFFERENCE

SELECT (MAX(sal)-MIN(sal)) AS DIFFERENCE FROM emp;


4>.查询各个管理者属下员工的最低工资,其中最低工资不能低于800,且没有管理者的员工不计算在内。

SELECT mgr,MIN(sal) FROM emp where mgr is not null GROUP BY mgr having MIN(sal) >= 800;

达内学习日志Day30:分组查询_第1张图片

5>.查询各个部门中工资大于1500的员工人数

SELECT deptno,COUNT(*) FROM emp where sal>1500 GROUP BY deptno;

达内学习日志Day30:分组查询_第2张图片

6>.查询各部门的平均绩效,如果绩效为null,则按数值0进行统计

Oracle版本: SELECT deptno,(AVG(NVL(comm,0))) AS AVG_COMM FROM emp GROUP BY deptno;

MySQL版本: SELECT deptno,(AVG(ifnull(comm,0))) AS AVG_COMM FROM emp GROUP BY deptno;


你可能感兴趣的:(达内学习日志Day30:分组查询)