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

来源:互联网 发布:windows insider 激活 编辑:程序博客网 时间:2024/05/21 10:12

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

语法


注意:

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

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

 

1. 查询有个工种

 

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

 

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

 

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

 

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

 

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

 

HAVING子句

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

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

 

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

我们应调整成以下语句

 

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

我们一起看个题:

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

WHERE写法

 

HAVING写法

 

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

0 0