第55练 项目七 使用GROUP BY子句分组查询《数据库原理与应用技术-MySQL》(河北科学技术出版社)一课一练(河北省)

2026-05-07
| 2份
| 5页
| 31人阅读
| 0人下载

内容正文:

编写说明:依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循"由浅入深、循序渐进"的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《数据库原理与应用技术-MySQL》(河北科学技术出版社)《一课一练》第55练,内容是使用GROUP BY子句分组查询。 《数据库原理与应用技术-MySQL》(河北科学技术出版社)《一课一练》 第55练 使用GROUP BY子句分组查询 一、单项选择题 1.下列 SQL 语句中,实现先筛选成绩及格记录,再按班级分组统计平均分,最后筛选平均分大于 80 的分组,语法完全正确的是( ) A. SELECT class,AVG(score) FROM score GROUP BY class HAVING score>=60 AND AVG(score)>80 B. SELECT class,AVG(score) FROM score WHERE score>=60 GROUP BY class HAVING AVG(score)>80 C. SELECT class,AVG(score) FROM score HAVING score>=60 GROUP BY class WHERE AVG(score)>80 D. SELECT class,AVG(score) FROM score GROUP BY class WHERE score>=60 HAVING AVG(score)>80 2.统计student表中每个班级的学生总人数,分组 + 聚合函数代码正确的是( ) A. SELECT class,SUM(*) FROM student GROUP BY class; B. SELECT class,COUNT(*) FROM student GROUP BY class; C. SELECT class,AVG(*) FROM student GROUP BY class; D. SELECT class,MAX(*) FROM student GROUP BY class; 3.过滤分组后的结果,必须使用的子句是( ) A. WHERE B. HAVING C. ORDER BY D. LIMIT 4.下列关于GROUP BY多字段分组代码,书写正确的是( ) A. GROUP BY class,gender B. GROUP BY class AND gender C. GROUP BY class+gender D. GROUP BY class OR gender 5.下列分组查询语句,语法存在错误的是( ) A. SELECT class,COUNT(*) FROM student GROUP BY class; B. SELECT class,AVG(age) FROM student GROUP BY class; C. SELECT name,COUNT(*) FROM student GROUP BY class; D. SELECT class,MAX(score) FROM student GROUP BY class; 6.现有员工表emp,需按部门分组,筛选出部门平均工资大于 5000 的部门,代码书写正确的是( ) A. SELECT dept,AVG(salary) FROM emp GROUP BY dept WHERE AVG(salary)>5000 B. SELECT dept,AVG(salary) FROM emp GROUP BY dept HAVING AVG(salary)>5000 C. SELECT dept,salary FROM emp GROUP BY dept HAVING salary>5000 D. SELECT dept,AVG(salary) FROM emp HAVING AVG(salary)>5000 GROUP BY dept 7.以下分组查询 SQL 代码中,语法合法、可正常执行的是( ) A. SELECT gender,MAX(age),name FROM student GROUP BY gender B. SELECT gender,MAX(age) FROM student GROUP BY gender C. SELECT gender FROM student GROUP BY age D. SELECT COUNT(*) FROM student GROUP BY 二、填空题 1. MySQL 中实现分组查询的核心子句关键字是__________。 2.分组查询中,用于统计每个分组内总记录数的聚合函数是__________。 3.对分组后的结果进行条件过滤,必须使用__________子句。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 编写说明:依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循"由浅入深、循序渐进"的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《数据库原理与应用技术-MySQL》(河北科学技术出版社)《一课一练》第55练,内容是使用GROUP BY子句分组查询。 《数据库原理与应用技术-MySQL》(河北科学技术出版社)《一课一练》 第55练 使用GROUP BY子句分组查询 一、单项选择题 1.下列 SQL 语句中,实现先筛选成绩及格记录,再按班级分组统计平均分,最后筛选平均分大于 80 的分组,语法完全正确的是( ) A. SELECT class,AVG(score) FROM score GROUP BY class HAVING score>=60 AND AVG(score)>80 B. SELECT class,AVG(score) FROM score WHERE score>=60 GROUP BY class HAVING AVG(score)>80 C. SELECT class,AVG(score) FROM score HAVING score>=60 GROUP BY class WHERE AVG(score)>80 D. SELECT class,AVG(score) FROM score GROUP BY class WHERE score>=60 HAVING AVG(score)>80 【答案】B 【解析】分组查询固定执行顺序:WHERE(过滤原始数据)→GROUP BY(分组)→HAVING(过滤分组结果);A 将原始条件写在 HAVING 中错误,C、D 子句顺序完全颠倒。 2.统计student表中每个班级的学生总人数,分组 + 聚合函数代码正确的是( ) A. SELECT class,SUM(*) FROM student GROUP BY class; B. SELECT class,COUNT(*) FROM student GROUP BY class; C. SELECT class,AVG(*) FROM student GROUP BY class; D. SELECT class,MAX(*) FROM student GROUP BY class; 【答案】B 【解析】COUNT(*)用于统计分组后的记录总数,是分组查询最常用聚合函数;SUM求和、AVG平均值、MAX最大值均不适用。 3.过滤分组后的结果,必须使用的子句是( ) A. WHERE B. HAVING C. ORDER BY D. LIMIT 【答案】B 【解析】HAVING专门过滤分组结果,可搭配聚合函数;WHERE仅过滤原始数据,不能使用聚合函数。 4.下列关于GROUP BY多字段分组代码,书写正确的是( ) A. GROUP BY class,gender B. GROUP BY class AND gender C. GROUP BY class+gender D. GROUP BY class OR gender 【答案】A 【解析】多字段分组语法:GROUP BY 字段1,字段2,多个分组字段用英文逗号分隔,其余选项语法非法。 5.下列分组查询语句,语法存在错误的是( ) A. SELECT class,COUNT(*) FROM student GROUP BY class; B. SELECT class,AVG(age) FROM student GROUP BY class; C. SELECT name,COUNT(*) FROM student GROUP BY class; D. SELECT class,MAX(score) FROM student GROUP BY class; 【答案】C 【解析】分组查询规则:SELECT后只能跟分组字段和聚合函数,name未分组也非聚合函数,语法报错。 6.现有员工表emp,需按部门分组,筛选出部门平均工资大于 5000 的部门,代码书写正确的是( ) A. SELECT dept,AVG(salary) FROM emp GROUP BY dept WHERE AVG(salary)>5000 B. SELECT dept,AVG(salary) FROM emp GROUP BY dept HAVING AVG(salary)>5000 C. SELECT dept,salary FROM emp GROUP BY dept HAVING salary>5000 D. SELECT dept,AVG(salary) FROM emp HAVING AVG(salary)>5000 GROUP BY dept 【答案】B 【解析】聚合函数条件不能用 WHERE 过滤,必须使用 HAVING;HAVING 子句放置在 GROUP BY 之后,A 语法错误、C 条件逻辑错误、D 子句顺序错误。 7.以下分组查询 SQL 代码中,语法合法、可正常执行的是( ) A. SELECT gender,MAX(age),name FROM student GROUP BY gender B. SELECT gender,MAX(age) FROM student GROUP BY gender C. SELECT gender FROM student GROUP BY age D. SELECT COUNT(*) FROM student GROUP BY 【答案】B 【解析】分组查询规则:SELECT 后只能出现分组字段和聚合函数;A 中 name 非分组字段、非法;C 分组字段与查询字段不匹配;D GROUP BY 后缺少分组字段,语法报错。 二、填空题 1. MySQL 中实现分组查询的核心子句关键字是__________。 【答案】GROUP BY 2.分组查询中,用于统计每个分组内总记录数的聚合函数是__________。 【答案】COUNT(*) 3.对分组后的结果进行条件过滤,必须使用__________子句。 【答案】HAVING 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

第55练 项目七 使用GROUP BY子句分组查询《数据库原理与应用技术-MySQL》(河北科学技术出版社)一课一练(河北省)
1
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。