第31卷 数据库原理与应用技术—分组聚合与排序查询—河北省计算机类—考纲百套卷

| 2份
| 13页
| 32人阅读
| 0人下载

内容正文:

编写说明:河北省对口招生计算机类《考纲百套卷》,依据《河北省普通高等学校对口招生考试大纲(2028版专业课)计算机类》编写。本专辑涵盖9门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。 本试卷是第31卷为专业核心模块训练卷,按《数据库原理与应用技术》中"数据库卷9——分组聚合与排序查询"范围和要求编写。具体内容为:掌握分组聚合查询:SELECT < 字段名 1>[, 字段名 2,... ] FROM < 表名 > GROUP BY < 字段名 1>[,< 字段名 2>...] ORDER BY < 字段名 1>[,< 字段名 2>...]; 河北省对口招生职业技能考试 数据库原理与应用技术 试卷 (数据库卷9——分组聚合与排序查询) 考试时间:90分钟 满分:100分 一、单项选择题(共20题,每题2分,共40分) 1. SQL中,LIKE模糊查询中,代表单个任意字符的通配符是() A.% B.* C._ D.? 【答案】C 【解析】LIKE模糊查询中,通配符_(下划线)代表单个任意字符;%代表任意长度的字符序列;*和?不是SQL中的模糊查询通配符,属于干扰项。 2. 在分组查询中,需要对分组后的组进行条件过滤,应使用() A.WHERE B.IF C.HAVING D.FILTER 【答案】C 【解析】分组查询中,HAVING子句专门用于对GROUP BY分组后的结果进行条件过滤;WHERE用于分组前过滤行数据;IF是条件判断函数,FILTER不是SQL中用于过滤的关键字。 3. 以下关于WHERE和HAVING的说法,正确的是() A.WHERE可以用于分组后过滤,HAVING可以用于分组前 B.WHERE在分组前过滤,HAVING在分组后过滤 C.两者作用完全相同 D.WHERE不能与聚合函数一起用,HAVING可以 【答案】B 【解析】核心区别:WHERE在GROUP BY分组之前过滤行数据,不能与聚合函数配合使用;HAVING在GROUP BY分组之后过滤组数据,可与聚合函数配合使用;A、C说法错误,D说法不严谨(WHERE不能直接用聚合函数,但可用于子查询中的聚合函数)。 4. 在SELECT语句中,用于过滤行的子句是() A.WHERE B.GROUP BY C.ORDER BY D.HAVING 【答案】A 【解析】WHERE子句用于在分组、排序前过滤不符合条件的行数据;GROUP BY用于分组,ORDER BY用于排序,HAVING用于分组后过滤组数据。 5. SQL中,IN关键字的作用是() A.范围判断,等价于多个OR B.判断字段是否为空 C.模糊匹配 D.排序 【答案】A 【解析】IN关键字用于判断字段值是否在指定的列表中,等价于多个OR连接的条件(如id IN (1,2) 等价于 id=1 OR id=2);判断空值用IS NULL,模糊匹配用LIKE,排序用ORDER BY。 6. 在SELECT语句中,为字段起别名的关键字是() A.AS B.LIKE C.INTO D.FROM 【答案】A 【解析】AS关键字用于为字段或表起别名,语法为“字段名 AS 别名”(AS可省略);LIKE用于模糊查询,INTO用于插入查询结果,FROM指定查询的表。 7. SQL中,用于消除重复行的关键字是() A.DISTINCT B.UNIQUE C.DIFFERENT D.SINGLE 【答案】A 【解析】DISTINCT关键字用于消除查询结果中的重复行,通常放在SELECT之后(如SELECT DISTINCT 字段 FROM 表);UNIQUE是约束,用于保证字段值唯一,其余选项均不是消除重复行的关键字。 8. GROUP BY子句通常与以下哪类函数配合使用() A.字符串函数 B.聚合函数 C.日期函数 D.数学函数 【答案】B 【解析】GROUP BY用于对数据进行分组,分组后通常需要通过聚合函数(如COUNT、SUM、AVG等)对每组数据进行统计计算;字符串、日期、数学函数不与GROUP BY有必然配合关系。 9. 在SELECT语句中,DESC关键字的作用是() A.删除表 B.指定降序排列 C.描述表结构 D.限制结果行数 【答案】B 【解析】DESC用于在ORDER BY子句中指定降序排列(从大到小);删除表用DROP TABLE,描述表结构用DESCRIBE(或DESC,但此处语境为SELECT语句中的排序),限制结果行数用LIMIT。 10. 统计表中记录总数使用的函数是() A.SUM() B.MAX() C.COUNT() D.AVG() 【答案】C 【解析】COUNT()是用于统计记录行数的聚合函数,常用COUNT(*)统计所有行(包括NULL值);SUM()求和,MAX()求最大值,AVG()求平均值。 11. MySQL聚合函数COUNT()、SUM()、AVG()、MAX()、MIN()中,哪个可以处理NULL值() A.COUNT(*) B.COUNT(字段) C.SUM(字段) D.以上都不行 【答案】A 【解析】COUNT(*)统计表中所有行,包括字段值为NULL的行,可处理NULL值;COUNT(字段)、SUM(字段)、AVG()会自动忽略字段值为NULL的行,不处理NULL值。 12. HAVING子句的作用是() A.过滤行 B.对分组结果进行条件过滤 C.排序结果 D.去重 【答案】B 【解析】HAVING子句必须与GROUP BY配合使用,作用是对分组后的每组数据进行条件过滤,筛选出符合条件的组;过滤行用WHERE,排序用ORDER BY,去重用DISTINCT。 13. 在MySQL中,GROUP BY后可以使用COUNT(*)、SUM(字段名)等聚合函数,还可以使用()来计算平均值 A.TOTAL() B.AVG() C.MEAN() D.AVERAGE() 【答案】B 【解析】AVG()是MySQL中用于计算某列平均值的聚合函数,可与GROUP BY配合使用;TOTAL()、MEAN()、AVERAGE()均不是MySQL中的聚合函数,属于干扰项。 14. MySQL中,COUNT(*)与COUNT(字段名)的区别是() A.完全相同 B.COUNT(*)统计所有行,COUNT(字段)不统计NULL值 C.COUNT(字段)统计所有行 D.COUNT(*)不统计NULL 【答案】B 【解析】COUNT(*)统计表中所有记录的行数,无论字段值是否为NULL;COUNT(字段名)仅统计该字段值不为NULL的行数,自动忽略NULL值。 15. SELECT SUM(salary) FROM emp; 中 SUM() 的作用是() A.计算平均值 B.计算最大值 C.计算最小值 D.计算总和 【答案】D 【解析】SUM()是聚合函数,用于计算指定数值类型字段的总和;计算平均值用AVG(),最大值用MAX(),最小值用MIN()。 16. SQL中,ORDER BY默认的排序方式是() A.随机排序 B.降序 C.升序 D.按插入顺序 【答案】C 【解析】ORDER BY子句默认按升序(ASC)排列数据,即从大到小;若需降序排列,需手动添加DESC关键字;随机排序需配合RAND()函数,不按插入顺序排序。 17. 在MySQL中,MAX()和MIN()函数的作用是() A.求和与求差 B.计算平均值 C.返回最大值和最小值 D.统计个数 【答案】C 【解析】MAX()用于返回指定字段的最大值,MIN()用于返回指定字段的最小值;求和用SUM(),求平均值用AVG(),统计个数用COUNT()。 18. 在SELECT语句中,用于分组的子句是() A.WHERE B.GROUP BY C.ORDER BY D.HAVING 【答案】B 【解析】GROUP BY是用于对查询结果进行分组的核心子句,语法为GROUP BY 字段名;WHERE过滤行,ORDER BY排序,HAVING过滤分组结果。 19. 标量子查询是指返回() A.一行多列 B.多行一列 C.单个值 D.整张表 【答案】C 【解析】标量子查询是子查询的一种,返回结果为单个值(单行单列),可用于WHERE、SELECT等子句中;一行多列为行子查询,多行一列为列子查询,整张表为表子查询。 20. 关系数据库第三范式(3NF)在2NF基础上还要求() A.消除传递依赖 B.消除部分依赖 C.属性原子化 D.主键唯一 【答案】A 【解析】第三范式(3NF)的要求:在第二范式(2NF,消除部分依赖)的基础上,消除非主属性对主键的传递依赖;属性原子化是第一范式(1NF)的要求,主键唯一是主键约束的基本要求。 二、填空题(共10空,每空1分,共10分) 21. MySQL中,计算某列平均值的聚合函数是_____。 【答案】AVG() 【解析】AVG()是MySQL核心聚合函数,语法为AVG(字段名),用于计算指定数值类型字段的平均值,自动忽略字段值为NULL的行,常与GROUP BY配合使用。 22. SQL语句中,用于分组统计的子句是_____。 【答案】GROUP BY 【解析】GROUP BY子句用于对查询结果按指定字段分组,分组后可结合聚合函数(COUNT、SUM、AVG等)进行统计计算,是分组聚合查询的核心子句。 23. 在SELECT语句中,用于消除重复行的关键字是_____。 【答案】DISTINCT 【解析】DISTINCT关键字放在SELECT之后,用于消除查询结果中的重复行,常与聚合函数配合使用(如SELECT DISTINCT 字段, COUNT(*) FROM 表 GROUP BY 字段)。 24. SQL中,表示数字大小范围(包含端点)的区间查询关键字是_____。 【答案】BETWEEN...AND... 【解析】BETWEEN...AND...用于查询字段值在指定区间内的数据,包含区间的两个端点(如age BETWEEN 18 AND 25 等价于 age ≥ 18 AND age ≤ 25)。 25. 在SQL中,用LIKE进行模糊查询时,代表任意字符序列的通配符是_____。 【答案】% 【解析】LIKE模糊查询中,%(百分号)代表任意长度的字符序列(包括0个字符),常与分组聚合查询结合使用(如统计不同模糊匹配条件下的记录数)。 26. 在DELETE语句中,如果省略WHERE子句,则会_____表中所有记录。 【答案】删除 【解析】DELETE语句用于删除表中记录,语法为DELETE FROM 表名 WHERE 条件;省略WHERE子句时,会删除表中所有记录(表结构保留),需谨慎使用。 27. SQL中,用于更新表中数据的语句关键字是_____。 【答案】UPDATE 【解析】UPDATE语句用于更新表中已有数据,语法为UPDATE 表名 SET 字段=值 WHERE 条件;常与分组聚合查询结合,用于批量更新分组后的相关数据。 28. MySQL中,创建存储函数使用CREATE_____关键字。 【答案】FUNCTION 【解析】MySQL中创建存储函数的标准语法为CREATE FUNCTION 函数名(参数) RETURNS 返回类型 BEGIN 函数体 END;存储函数可用于分组聚合查询中实现复杂计算。 29. MySQL中,视图不存储实际数据,每次查询视图时_____生成结果。 【答案】动态 【解析】视图是虚拟表,不存储实际数据,仅存储查询语句;每次查询视图时,MySQL会动态执行视图对应的查询语句,生成最新的查询结果,可包含分组聚合逻辑。 30. MySQL中,视图的ALGORITHM选项默认是_____(自动选择MERGE或TEMPTABLE)。 【答案】UNDEFINED 【解析】MySQL视图的ALGORITHM(算法)选项有3种:MERGE(合并)、TEMPTABLE(临时表)、UNDEFINED(默认);UNDEFINED表示MySQL自动选择合适的算法,优先选择MERGE。 三、判断题(共5题,每题1分,共5分) 31. HAVING子句只能用在有GROUP BY的查询中。( ) 【答案】√ 【解析】HAVING用于对分组后的结果进行条件过滤,需要与GROUP BY配合。 32. COUNT(*)和COUNT(字段名)的结果一定相同。( ) 【答案】× 【解析】COUNT(*)统计所有行,COUNT(字段名)不计NULL值,结果可能不同。 33. SELECT语句可以使用WHERE子句进行条件筛选。( ) 【答案】√ 【解析】WHERE是SELECT语句中用于行过滤的子句。 34. MySQL中,source命令恢复数据库是在mysql命令行客户端中执行的。( ) 【答案】正确 【解析】source backup.sql 在mysql客户端中执行导入。 35. MySQL是一种关系型数据库管理系统。( ) 【答案】√ 【解析】MySQL是最流行的开源关系型数据库管理系统之一。 四、写命令题(共5题,每题9分,共45分) 36. 已知图书表book(bid INT, btitle VARCHAR(100), author VARCHAR(30), price DECIMAL(8,2), publish_date DATE),请写出SQL命令:查询2022年之后出版(publish_date > '2022-12-31')的图书中,单价在50到200元之间的图书信息,包含书名、作者和价格,按价格升序排列。 【答案】 SELECT btitle, author, price FROM book WHERE publish_date > '2022-12-31' AND price BETWEEN 50 AND 200 ORDER BY price ASC; 【解析】本题考查WHERE多条件过滤+BETWEEN范围查询+ORDER BY,考查内容关键词:WHERE条件、BETWEEN...AND、ORDER BY ASC。 37. 已知学生成绩表score(sid INT, subject VARCHAR(20), score INT),请写出SQL命令:查询每个学生各科成绩的最高分、最低分和平均分,以及参加考试的科目数,只显示参加了3科以上考试的学生,按平均分降序排列。 【答案】 SELECT sid, MAX(score) AS max_score, MIN(score) AS min_score, AVG(score) AS avg_score, COUNT(*) AS subject_count FROM score GROUP BY sid HAVING COUNT(*) > 3 ORDER BY avg_score DESC; 【解析】本题综合考查GROUP BY+HAVING+聚合函数+ORDER BY,考查内容关键词:GROUP BY、HAVING、多聚合函数组合。 38. 已知有订单表orders(order_id INT PRIMARY KEY, customer_id INT, order_date DATE, total_amount DECIMAL(12,2), status VARCHAR(20)),请写出SQL命令:统计每种订单状态(status)的订单数量和平均订单金额,只显示订单数量大于10的,按平均金额降序排列。 【答案】 SELECT status, COUNT(*) AS order_count, AVG(total_amount) AS avg_amount FROM orders GROUP BY status HAVING COUNT(*) > 10 ORDER BY avg_amount DESC; 【解析】本题综合考查GROUP BY+HAVING+聚合函数+ORDER BY,考查内容关键词:GROUP BY、HAVING、COUNT、AVG聚合函数。 39. 已知有商品表product(pid INT PRIMARY KEY, pname VARCHAR(50), price DECIMAL(10,2), category VARCHAR(20)),请写出SQL命令:查询每个商品类别的商品种类数和平均价格,按平均价格降序排列。 【答案】 SELECT category, COUNT(*) AS product_count, AVG(price) AS avg_price FROM product GROUP BY category ORDER BY avg_price DESC; 【解析】本题综合考查GROUP BY+聚合函数+ORDER BY,考查内容关键词:GROUP BY、COUNT、AVG聚合函数组合。 40. 已知有员工表emp(empno INT PRIMARY KEY, ename VARCHAR(30), job VARCHAR(20), sal DECIMAL(10,2), deptno INT)和部门表dept(deptno INT PRIMARY KEY, dname VARCHAR(20), loc VARCHAR(20)),请写出SQL命令:统计每个部门的部门名称和平均工资,只显示平均工资大于5000的部门,结果按平均工资降序排列。 【答案】 SELECT d.dname, AVG(e.sal) AS avg_sal FROM emp e INNER JOIN dept d ON e.deptno = d.deptno GROUP BY d.deptno, d.dname HAVING AVG(e.sal) > 5000 ORDER BY avg_sal DESC; 【解析】本题综合考查分组聚合+HAVING过滤+内连接+ORDER BY,考查内容关键词:GROUP BY、HAVING、聚合函数、内连接。 学科网(北京)股份有限公司 $ 编写说明:河北省对口招生计算机类《考纲百套卷》,依据《河北省普通高等学校对口招生考试大纲(2028版专业课)计算机类》编写。本专辑涵盖9门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。 本试卷是第31卷为专业核心模块训练卷,按《数据库原理与应用技术》中"数据库卷9——分组聚合与排序查询"范围和要求编写。具体内容为:掌握分组聚合查询:SELECT < 字段名 1>[, 字段名 2,... ] FROM < 表名 > GROUP BY < 字段名 1>[,< 字段名 2>...] ORDER BY < 字段名 1>[,< 字段名 2>...]; 河北省对口招生职业技能考试 数据库原理与应用技术 试卷 (数据库卷9——分组聚合与排序查询) 考试时间:90分钟 满分:100分 一、单项选择题(共20题,每题2分,共40分) 1. SQL中,LIKE模糊查询中,代表单个任意字符的通配符是() A.% B.* C._ D.? 2. 在分组查询中,需要对分组后的组进行条件过滤,应使用() A.WHERE B.IF C.HAVING D.FILTER 3. 以下关于WHERE和HAVING的说法,正确的是() A.WHERE可以用于分组后过滤,HAVING可以用于分组前 B.WHERE在分组前过滤,HAVING在分组后过滤 C.两者作用完全相同 D.WHERE不能与聚合函数一起用,HAVING可以 4. 在SELECT语句中,用于过滤行的子句是() A.WHERE B.GROUP BY C.ORDER BY D.HAVING 5. SQL中,IN关键字的作用是() A.范围判断,等价于多个OR B.判断字段是否为空 C.模糊匹配 D.排序 6. 在SELECT语句中,为字段起别名的关键字是() A.AS B.LIKE C.INTO D.FROM 7. SQL中,用于消除重复行的关键字是() A.DISTINCT B.UNIQUE C.DIFFERENT D.SINGLE 8. GROUP BY子句通常与以下哪类函数配合使用() A.字符串函数 B.聚合函数 C.日期函数 D.数学函数 9. 在SELECT语句中,DESC关键字的作用是() A.删除表 B.指定降序排列 C.描述表结构 D.限制结果行数 10. 统计表中记录总数使用的函数是() A.SUM() B.MAX() C.COUNT() D.AVG() 11. MySQL聚合函数COUNT()、SUM()、AVG()、MAX()、MIN()中,哪个可以处理NULL值() A.COUNT(*) B.COUNT(字段) C.SUM(字段) D.以上都不行 12. HAVING子句的作用是() A.过滤行 B.对分组结果进行条件过滤 C.排序结果 D.去重 13. 在MySQL中,GROUP BY后可以使用COUNT(*)、SUM(字段名)等聚合函数,还可以使用()来计算平均值 A.TOTAL() B.AVG() C.MEAN() D.AVERAGE() 14. MySQL中,COUNT(*)与COUNT(字段名)的区别是() A.完全相同 B.COUNT(*)统计所有行,COUNT(字段)不统计NULL值 C.COUNT(字段)统计所有行 D.COUNT(*)不统计NULL 15. SELECT SUM(salary) FROM emp; 中 SUM() 的作用是() A.计算平均值 B.计算最大值 C.计算最小值 D.计算总和 16. SQL中,ORDER BY默认的排序方式是() A.随机排序 B.降序 C.升序 D.按插入顺序 17. 在MySQL中,MAX()和MIN()函数的作用是() A.求和与求差 B.计算平均值 C.返回最大值和最小值 D.统计个数 18. 在SELECT语句中,用于分组的子句是() A.WHERE B.GROUP BY C.ORDER BY D.HAVING 19. 标量子查询是指返回() A.一行多列 B.多行一列 C.单个值 D.整张表 20. 关系数据库第三范式(3NF)在2NF基础上还要求() A.消除传递依赖 B.消除部分依赖 C.属性原子化 D.主键唯一 二、填空题(共10空,每空1分,共10分) 21. MySQL中,计算某列平均值的聚合函数是_____。 22. SQL语句中,用于分组统计的子句是_____。 23. 在SELECT语句中,用于消除重复行的关键字是_____。 24. SQL中,表示数字大小范围(包含端点)的区间查询关键字是_____。 25. 在SQL中,用LIKE进行模糊查询时,代表任意字符序列的通配符是_____。 26. 在DELETE语句中,如果省略WHERE子句,则会_____表中所有记录。 27. SQL中,用于更新表中数据的语句关键字是_____。 28. MySQL中,创建存储函数使用CREATE_____关键字。 29. MySQL中,视图不存储实际数据,每次查询视图时_____生成结果。 30. MySQL中,视图的ALGORITHM选项默认是_____(自动选择MERGE或TEMPTABLE)。 三、判断题(共5题,每题1分,共5分) 31. HAVING子句只能用在有GROUP BY的查询中。( ) 32. COUNT(*)和COUNT(字段名)的结果一定相同。( ) 33. SELECT语句可以使用WHERE子句进行条件筛选。( ) 34. MySQL中,source命令恢复数据库是在mysql命令行客户端中执行的。( ) 35. MySQL是一种关系型数据库管理系统。( ) 四、写命令题(共5题,每题9分,共45分) 36. 已知图书表book(bid INT, btitle VARCHAR(100), author VARCHAR(30), price DECIMAL(8,2), publish_date DATE),请写出SQL命令:查询2022年之后出版(publish_date > '2022-12-31')的图书中,单价在50到200元之间的图书信息,包含书名、作者和价格,按价格升序排列。 37. 已知学生成绩表score(sid INT, subject VARCHAR(20), score INT),请写出SQL命令:查询每个学生各科成绩的最高分、最低分和平均分,以及参加考试的科目数,只显示参加了3科以上考试的学生,按平均分降序排列。 38. 已知有订单表orders(order_id INT PRIMARY KEY, customer_id INT, order_date DATE, total_amount DECIMAL(12,2), status VARCHAR(20)),请写出SQL命令:统计每种订单状态(status)的订单数量和平均订单金额,只显示订单数量大于10的,按平均金额降序排列。 39. 已知有商品表product(pid INT PRIMARY KEY, pname VARCHAR(50), price DECIMAL(10,2), category VARCHAR(20)),请写出SQL命令:查询每个商品类别的商品种类数和平均价格,按平均价格降序排列。 40. 已知有员工表emp(empno INT PRIMARY KEY, ename VARCHAR(30), job VARCHAR(20), sal DECIMAL(10,2), deptno INT)和部门表dept(deptno INT PRIMARY KEY, dname VARCHAR(20), loc VARCHAR(20)),请写出SQL命令:统计每个部门的部门名称和平均工资,只显示平均工资大于5000的部门,结果按平均工资降序排列。 学科网(北京)股份有限公司 $

资源预览图

第31卷 数据库原理与应用技术—分组聚合与排序查询—河北省计算机类—考纲百套卷-第1页
1
第31卷 数据库原理与应用技术—分组聚合与排序查询—河北省计算机类—考纲百套卷-第2页
2

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。