-- 统计每个部门的平均工资,存在group by分组,select字句不能写group by没有的字段,除非这些用在聚合函数中
select deptno,avg(sal) from emp group by deptno;
-- 统计每个部门的人数,最高工资,最低工资,平均工资
select count(0) as 人数, max(sal) as 最高工资, min(sal) as 最低工资,avg(sal) from emp group by deptno;
-- 统计每个部门的人数,最高工资,最低工资,平均工资,但是排除10部门
select deptno,count(1), max(sal),min(sal),avg(sal) from emp where deptno <> 10 group by deptno;
-- 统计每个部门的人数,最高工资,最低工资,平均工资,但是部门的平均工资小于2000不要统计
select deptno,count(1),max(sal),min(sal),avg(sal) from emp group by deptno having avg(sal) > 2000;
-- SQL语句执行顺序,from > where > group by > having > select > order by, having 不能单独用
-- 在emp表中,列出工资最小值小于2000的职位
select job, min(sal) from emp group by job having min(sal) < 2000;
-- 统计人数小于4的部门的平均工资 <
select deptno,avg(sal) from emp group by deptno;
-- 统计每个部门的人数,最高工资,最低工资,平均工资
select count(0) as 人数, max(sal) as 最高工资, min(sal) as 最低工资,avg(sal) from emp group by deptno;
-- 统计每个部门的人数,最高工资,最低工资,平均工资,但是排除10部门
select deptno,count(1), max(sal),min(sal),avg(sal) from emp where deptno <> 10 group by deptno;
-- 统计每个部门的人数,最高工资,最低工资,平均工资,但是部门的平均工资小于2000不要统计
select deptno,count(1),max(sal),min(sal),avg(sal) from emp group by deptno having avg(sal) > 2000;
-- SQL语句执行顺序,from > where > group by > having > select > order by, having 不能单独用
-- 在emp表中,列出工资最小值小于2000的职位
select job, min(sal) from emp group by job having min(sal) < 2000;
-- 统计人数小于4的部门的平均工资 <