分组查询
分组查询主要涉及到两个子句,分别是:group by和having
group by
取得每个工作岗位的工资合计,要求显示岗位名称和工资合计
将原始数据按照职位部门和薪资分组
原始数据
分组后
having
如果想对分组数据再进行过滤需要使用having子句
取得每个岗位的平均工资大于2000
分组函数的执行顺序:
1.根据条件查询数据
2.分组
3.采用having过滤,取得正确的数据
select总结
一个完整的select语句格式如下:
select 字段
from 表名
where …….
group by ……..
having …….(就是为了过滤分组后的数据而存在的—不可以单独的出现)
order by ……..
以上语句的执行顺序
- 首先执行where语句过滤原始数据
- 执行group by进行分组
- 执行having对分组数据进行操作
- 执行select选出数据
- 执行order by排序
原则:能在where中过滤的数据,尽量在where中过滤,效率较高。having的过滤是专门对分组之后的数据进行过滤的。