【MySQL】查询进阶

系列文章目录

第一章 数据库基础
第二章 数据库基本操作
第三章数据库约束
第四章表的设计



前言

对数据库已经有了基本的认识,在数据库增删改查的内容中,查询是其中最核心的操作,接下来讲解的是查询的进阶方法。


一、聚合查询

在之前我们已经学过使用表达式查询,而表达式查询的方式是列与列之间的运算。聚合查询是行与行之间的运算。
以成绩而言,计算某一课程的总成绩就是行与行之间的运算了。同时,SQL也提供了聚合函数,是类似于库函数一样的东西,我们可以通过它进行更简便的运算。但是聚合函数中,遇到数据为NULL的会跳过。
在这里插入图片描述

  1. count-可以计算出行的数量,同时也支持针对某一列进行计算。作为统计行数进行计算当计算总体数量时,并不会关注数据是否为NULL,当针对某一列进行计算时,会关注数据是否为NULL。
    在这里插入图片描述
  2. sum-就像平时使用的一样,计算总成绩/总分等数据时候使用的。sum并不能像count一样使用通配符*计算,由于sum操作涉及到相加操作,因此只支持数据的计算。
    演示如下图所示。
    在这里插入图片描述
    在这里插入图片描述
  3. 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;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值