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

当要根据某些条件对数据分组时,就要使用到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写

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. SQL 简介 SQL 的目标 理想情况下,数据库语言应允许用户: 建立数据库和关系结构 完成基本数据管理任务...
    板蓝根plank阅读 6,978评论 0 11
  • 1、数据分组入门 数据分组用来将数据分为多个逻辑组,从而可以对每个组进行聚合运算。SQL语句中使用 GROUP B...
    丹丹后院阅读 11,266评论 0 3
  • 1.简介 数据存储有哪些方式?电子表格,纸质文件,数据库。 那么究竟什么是关系型数据库? 目前对数据库的分类主要是...
    乔震阅读 5,841评论 0 2
  • 1. 问题的提出## 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出...
    七寸知架构阅读 10,736评论 1 111
  • 历史上的壮游:史上最伟大的历史作品之一《史记》,也是在司马迁的壮游后完成。司马迁是其父太史公司马谈刻意栽培的接班人...
    遗忘也是一种选择阅读 4,136评论 0 0