《数据库原理与应用技术》聚合函数(举一反三考点练)-讲义(河北)

2026-09-07
| 6页
| 40人阅读
| 0人下载
精品

内容正文:

《数据库原理与应用技术》聚合函数-讲义 c.掌握MySQL聚合函数、数学函数、字符串函数、日期和时间函数和其他常用函数的概念及使用; 聚合函数:COUNT()、SUM()、AVG()、MAX()、MIN(); 知识点一 1. 聚合函数概述 聚合函数(又称统计函数)是对一组值进行计算并返回单个值的函数。聚合函数通常用在 SELECT 语句中,并常与 GROUP BY 子句配合进行分组统计。MySQL 常用的聚合函数有 COUNT()、SUM()、AVG()、MAX()、MIN()。除 COUNT(*) 外,聚合函数一般都忽略 NULL 值。 为便于说明,假设有学生表 student(字段:sid、name、score、class),数据如下: sid=1,name=张三,score=85,class=1班 sid=2,name=李四,score=90,class=1班 sid=3,name=王五,score=78,class=2班 sid=4,name=赵六,score=NULL,class=2班 sid=5,name=孙七,score=92,class=1班 2. COUNT() 计数函数 COUNT(*):返回表中记录的总行数(包括字段值为 NULL 的记录)。上例中 COUNT(*) 返回 5。 COUNT(字段名):返回该字段值不为 NULL 的记录行数。上例中 COUNT(score) 返回 4(赵六的 score 为 NULL,不计入)。 COUNT(DISTINCT 字段名):返回该字段不同取值的个数(去重)。上例中 COUNT(DISTINCT class) 返回 2(1班、2班)。 COUNT() 的返回值类型为 BIGINT。 3. 易错点 COUNT(*) 与 COUNT(字段) 的区别:前者统计所有行(含 NULL),后者只统计指定字段非空的行。 COUNT(DISTINCT 字段) 用于去重计数。 1.学生表 student 共有 5 条记录,其中 score 字段有 4 条非空、1 条为 NULL。则 COUNT(*) 和 COUNT(score) 的返回值分别是( )。 A. 5 和 4 B. 4 和 5 C. 5 和 5 D. 4 和 4 【答案】A 【解析】COUNT(*) 统计所有记录(包括 NULL),返回 5;COUNT(score) 只统计 score 字段非空的记录,返回 4。故选 A。 1.(单项选择题)下列聚合函数中,用于统计记录条数的是( )。 A. SUM() B. COUNT() C. AVG() D. MAX() 【答案】B 【解析】COUNT() 用于计数(统计记录条数),SUM() 求和、AVG() 求平均值、MAX() 求最大值。 2. (判断题)COUNT(*) 会忽略字段值为 NULL 的记录。( ) 【答案】× 【解析】COUNT(*) 统计所有记录(含 NULL),不会忽略;COUNT(字段名) 才会忽略该字段为 NULL 的记录。 3. (填空题)要统计某字段不同取值的个数(去重计数),应使用 COUNT(____ 字段名)。 【答案】DISTINCT 【解析】COUNT(DISTINCT 字段名) 对字段值去重后计数,统计不同值的个数。 1.(单项选择题)要统计学生表中"class"字段的不同值个数,应使用( )。 A. COUNT(class) B. COUNT(DISTINCT class) C. COUNT(*) D. SUM(class) 【答案】B 【解析】统计不同值个数需去重,使用 COUNT(DISTINCT class);COUNT(class) 统计非空个数,不区分重复。 2. (判断题)聚合函数是对一组值进行计算并返回单个值的函数。( ) 【答案】√ 【解析】聚合函数对一组值计算后返回单个值,如 COUNT() 返回行数。 3. (填空题)COUNT(字段名) 会忽略该字段值为____的记录。 【答案】NULL 【解析】COUNT(字段名) 只统计该字段非空(非 NULL)的记录。 知识点二 1. SUM() 求和函数 SUM(字段名):返回某数值列所有非空值(忽略 NULL)的总和。上例中 SUM(score)=85+90+78+92=345(忽略赵六的 NULL)。 SUM(DISTINCT 字段名):先对字段值去重,再求和。 SUM() 只能用于数值类型列;当列中无有效数值(全部为 NULL 或空表)时,返回 NULL。 2. AVG() 平均值函数 AVG(字段名):返回某数值列所有非空值(忽略 NULL)的平均值。上例中 AVG(score)=(85+90+78+92)/4=86.25。 AVG(DISTINCT 字段名):先去重,再求平均值。 AVG() 同样只能用于数值类型;无有效数值时返回 NULL。 3. 易错点 SUM() 和 AVG() 仅适用于数值类型,不能用于字符串、日期等类型。 求平均值时分母是非空值的个数,不是总行数(NULL 不计入)。 空值(全 NULL)情况下 SUM()/AVG() 返回 NULL,而不是 0。 1.学生表 student 的 score 字段值为 85、90、78、NULL、92,则 SUM(score) 的返回值是( )。 A. 345 B. 92 C. 78 D. NULL 【答案】A 【解析】SUM(score) 忽略 NULL,只对非空值求和:85+90+78+92=345。故选 A。 1.(单项选择题)上述数据中,AVG(score) 的返回值是( )。 A. 86.25 B. 69 C. 345 D. 86 【答案】A 【解析】AVG(score) 忽略 NULL,对 4 个非空值求平均:(85+90+78+92)/4=345/4=86.25。 2. (判断题)SUM() 函数只能用于数值类型的列。( ) 【答案】√ 【解析】SUM() 用于对数值列求和,只能用于数值类型,不能用于字符串或日期类型。 3. (填空题)求某列所有非空数值之和用____函数,求其平均值用____函数。 【答案】SUM();AVG() 【解析】SUM() 求和,AVG() 求平均值。 1.(单项选择题)若某数值列所有记录均为 NULL,则 SUM(该列) 返回( )。 A. 0 B. NULL C. 1 D. 报错 【答案】B 【解析】SUM() 对无有效数值的列返回 NULL,而不是 0。 2. (判断题)AVG(字段) 在计算平均值时会忽略 NULL 值。( ) 【答案】√ 【解析】AVG() 只对非空值求平均,NULL 不参与计算,也不计入分母。 3. (填空题)对某列去重后求和,应使用 SUM(____ 字段名)。 【答案】DISTINCT 【解析】SUM(DISTINCT 字段名) 表示先去重再求和。 知识点 1. MAX() 最大值函数与 MIN() 最小值函数 MAX(字段名):返回某列所有非空值中的最大值;MIN(字段名):返回某列所有非空值中的最小值。 上例中 MAX(score)=92、MIN(score)=78(均忽略 NULL)。 二者都忽略 NULL 值。 2. 适用类型 MAX() 和 MIN() 的适用范围比 SUM()、AVG() 更广,可用于: 数值类型:比较数值大小。 字符串类型:按字典序(字符编码)比较大小。 日期和时间类型:比较日期先后,MAX() 返回最晚日期,MIN() 返回最早日期。 3. 易错点 MAX()/MIN() 可用于字符串和日期,但 SUM()/AVG() 不能。 MAX(DISTINCT 字段) 与 MAX(字段) 的结果相同(去重不影响最大值/最小值)。 1.学生表 student 的 score 字段值为 85、90、78、NULL、92,则 MAX(score) 和 MIN(score) 分别是( )。 A. 92 和 78 B. 78 和 92 C. 92 和 NULL D. NULL 和 NULL 【答案】A 【解析】MAX(score) 和 MIN(score) 均忽略 NULL,最大值为 92,最小值为 78。故选 A。 1.(单项选择题)关于 MAX() 和 MIN() 函数,下列说法正确的是( )。 A. 只能用于数值列 B. 可用于数值、字符串和日期时间列 C. 不能用于字符串列 D. 只能用于日期列 【答案】B 【解析】MAX()/MIN() 可用于数值类型(比大小)、字符串类型(按字典序)、日期时间类型(比先后),故选 B。 2. (判断题)MAX() 和 MIN() 会忽略字段中的 NULL 值。( ) 【答案】√ 【解析】MAX()/MIN() 只对非空值比较大小,忽略 NULL。 3. (填空题)求某列最大值用____函数,求最小值用____函数。 【答案】MAX();MIN() 【解析】MAX() 求最大值,MIN() 求最小值。 1.(单项选择题)对字符串列使用 MAX(),得到的是( )。 A. 最长的字符串 B. 字典序最大的字符串 C. 最短的字符串 D. 第一个字符串 【答案】B 【解析】对字符串列,MAX() 按字典序(字符编码)比较,返回字典序最大(最"靠后")的字符串。 2. (判断题)MAX(DISTINCT 字段) 与 MAX(字段) 的结果一定相同。( ) 【答案】√ 【解析】去重不会改变一组值中的最大值,因此二者结果相同。 3. (填空题)对日期时间列使用 MAX(),返回的是____(最早/最晚)的日期。 【答案】最晚 【解析】日期越晚其值越大,MAX() 返回最晚(最大)的日期。 原创精品资源学科网独家享有版权,侵权必究!2 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

《数据库原理与应用技术》聚合函数(举一反三考点练)-讲义(河北)
1
《数据库原理与应用技术》聚合函数(举一反三考点练)-讲义(河北)
2
《数据库原理与应用技术》聚合函数(举一反三考点练)-讲义(河北)
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。