跟小博老师一起学习数据库 ——GROUP BY

当要根据某些条件对数据分组时,就要使用到GROUP BY语句。GROUP BY语句可结合聚合函数使用,分组条件可是一个也可以是多个。

语法

跟小博老师一起学习数据库 ——GROUP BY_第1张图片

注意:

使用GROUP BY语句后,查询的只能是出现在GROUP BY子句中的列使用了聚合函数列。

我们还是使用EMP表来做些练习

跟小博老师一起学习数据库 ——GROUP BY_第2张图片

1.查询有个工种

2.查询每个工种每月所需支付的基本工资

3.查询每个部门平均工资

4.查询每个部门中各个工种的最低工资

5.查询每个工种的最高基本工资,并按基本工资从大到小排序

6.查询除了20部门以外其它部分的平均工资

HAVING子

如要对分组后的结果过滤,就不能使用WHERE子句了,应该要使用HAVING增加过滤条件。

例有这样一个需求“查询平均工资大于3000的工种信息”,很多学员可能写成这样

以上的SQL语句是错误的,原因是聚合函数(AVG()函数)不能出现WHERE子句中。

我们应调整成以下语句

WHERE与HAVING的区别在于WHERE是先对数据过滤HAVING是以分组后的数据再过滤,在某可互

我们一起看个题:

查询除了CLERK,MANAGER工种以外的工种最高基本工资。

WHERE写

HAVING写

以上两种写法都能达到预期目标,但查询过程完全不相同,小伙伴自己实际操作操作吧。

你可能感兴趣的:(跟小博老师一起学习数据库 ——GROUP BY)