SQL分组查询和过滤

本文介绍了如何使用SQL进行分组查询,包括统计每个部门的平均工资、人数、最高和最低工资,以及如何通过WHERE和HAVING子句进行特定条件的过滤。还探讨了SQL语句的执行顺序,并展示了各种实用的分组查询示例。
摘要由CSDN通过智能技术生成
-- 统计每个部门的平均工资,存在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的部门的平均工资 <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值