系列文章目录
第一章 数据库基础
第二章 数据库基本操作
第三章数据库约束
第四章表的设计
前言
对数据库已经有了基本的认识,在数据库增删改查的内容中,查询是其中最核心的操作,接下来讲解的是查询的进阶方法。
一、聚合查询
在之前我们已经学过使用表达式查询,而表达式查询的方式是列与列之间的运算。聚合查询是行与行之间的运算。
以成绩而言,计算某一课程的总成绩就是行与行之间的运算了。同时,SQL也提供了聚合函数,是类似于库函数一样的东西,我们可以通过它进行更简便的运算。但是聚合函数中,遇到数据为NULL的会跳过。

- count-可以计算出行的数量,同时也支持针对某一列进行计算。作为统计行数进行计算当计算总体数量时,并不会关注数据是否为NULL,当针对某一列进行计算时,会关注数据是否为NULL。

- sum-就像平时使用的一样,计算总成绩/总分等数据时候使用的。sum并不能像count一样使用通配符*计算,由于sum操作涉及到相加操作,因此只支持数据的计算。
演示如下图所示。


- AVG、min、max-即分别计算平均值、最小值、最大值。所使用的聚合函数。与sum的计算方式一样,这边不再赘述。

二、分组查询
分组查询中使用到了group by子句的形式。它指定某个列,针对这个列中相同值的行分到同一组中。之后可以针对每个组分别进行聚合查询。
在下面的职位表中,我们可以根据角色的职位来进行分组。
//1.首先执行select role from emp;
//2.针对role进行group by分组
//3.对分组之后的数据进行count(*) 聚合操作,并返回给客户端
select role,count(*) from emp group by role;

最低0.47元/天 解锁文章
1420

被折叠的 条评论
为什么被折叠?



