sql语句的书写顺序:select --> from --> where --> group by --> having --> order by -->
sql语句的执行顺序:from --> where --> group by --> having --> select --> order by -->
- 从某张表中查询数据,
- 先经过where条件筛选出有价值的数据。
- 对这些有价值的数据进行分组。
- 分组之后可以使用having继续筛选。
- select查询出来。
- 最后排序输出!
having语句的作用:使用having可以对分完组之后的数据进一步过滤。
注意:having不能单独使用,having不能代替where,having必须和group by联合使用。
举例:已知emp表的数据如下:
找出每个部门deptno平均薪资,要求显示平均薪资高于2000的。
补充知识:where和having的联系与区别
一般能用where完成的就用where,where 不能完成的再用having
where和having的区别:
1.where 的子句后面不能使用聚合函数(也就是多行处理函数avg(),max(),min()等),having的子句后面可以使用聚合函数。
2.执行顺序where在having前面。
3.where在分组group by 之前过滤,having在分组group by之后过滤。