第32卷 数据库原理与应用技术—连接查询—河北省计算机类—考纲百套卷
|
2份
|
13页
|
33人阅读
|
0人下载
内容正文:
编写说明:河北省对口招生计算机类《考纲百套卷》,依据《河北省普通高等学校对口招生考试大纲(2028版专业课)计算机类》编写。本专辑涵盖9门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。
本试卷是第32卷为专业核心模块训练卷,按《数据库原理与应用技术》中"数据库卷10——连接查询"范围和要求编写。具体内容为:掌握连接查询:SELECT < 字段名 1>[, 字段名 2,... ] ...FROM < 表名 1> INNER|LEFT|RIGHT JOIN < 表名 2> ON 表名 1. 字段名 1 = 表名 2. 字段名 2;
河北省对口招生职业技能考试
数据库原理与应用技术 试卷
(数据库卷10——连接查询)
考试时间:90分钟 满分:100分
一、单项选择题(共20题,每题2分,共40分)
1. MySQL 中,内连接的关键字是()
A.INNER JOIN B.LEFT JOIN C.RIGHT JOIN D.FULL JOIN
【答案】A
【解析】INNER JOIN 是标准内连接关键字。
2. 两表进行连接查询时,用来设置关联条件的子句是()
A.WHERE B.ON C.GROUP BY D.ORDER BY
【答案】B
【解析】JOIN 语法中,表之间关联条件固定写在 ON 子句后。
3. 左外连接 LEFT JOIN 的查询结果是()
A. 只返回两表完全匹配记录
B. 返回左表所有记录,右表无匹配则补 NULL
C. 返回右表所有记录,左表无匹配则补 NULL
D. 只返回右表匹配记录
【答案】B
【解析】左外连接保留左表全部行,右表无匹配字段填充 NULL。
4. 右外连接 RIGHT JOIN 的查询结果是()
A. 返回左表所有记录
B. 返回右表所有记录,左表无匹配则补 NULL
C. 仅返回两表交集
D. 两表所有记录全部保留
【答案】B
【解析】右外连接保留右表全部行,左表无匹配自动补 NULL。
5. 内连接 INNER JOIN 查询结果保留的是()
A. 左表全部行 B. 右表全部行 C. 两表满足关联条件的匹配行 D. 两表所有行
【答案】C
【解析】内连接只取两表满足关联条件的匹配交集行。
6. 多表连接查询中,为简化表名书写可以使用()
A. 表别名 B. 字段别名 C. 引号 D. 括号
【答案】A
【解析】给表设置别名,可简化语句并区分多表同名字段。
7. 下列哪项属于外连接()
A.INNER JOIN B.LEFT JOIN C.CROSS JOIN D. 以上都不是
【答案】B
【解析】LEFT JOIN、RIGHT JOIN 属于外连接;INNER JOIN 为内连接。
8. 关于多表连接查询,下列说法正确的是()
A. 必须使用 ON 指定关联条件
B. 不能给表起别名
C. 左连接会丢弃左表不匹配数据
D. 内连接可以不用关联条件
【答案】A
【解析】标准 JOIN 语法必须用 ON 指定关联条件,防止产生笛卡尔积。
9. 使用 LEFT JOIN 连接两表,右表无匹配数据时,右表字段显示为()
A.0 B. 空字符串 C.NULL D. 随机值
【答案】C
【解析】外连接中无匹配的字段默认填充 NULL。
10. 若两张表存在同名字段,连接查询时正确写法是()
A. 直接写字段名 B. 表别名。字段名 C. 加单引号 D. 随便书写
【答案】B
【解析】多表同名字段,必须用「表名 / 别名。字段名」格式区分。
11. MySQL 中,不支持完整全外连接,可以替代实现的方式是()
A.LEFT JOIN 单独使用 B.RIGHT JOIN 单独使用
C.LEFT JOIN 与 RIGHT JOIN 结果 UNION D.INNER JOIN
【答案】C
【解析】MySQL 无 FULL OUTER JOIN,可用 LEFT JOIN UNION RIGHT JOIN 模拟全外连接。
12. 三张表进行连续连接查询,连接关键字使用顺序正确的是()
A. 表 1 JOIN 表 2 JOIN 表 3 B. 只能两两分开查询
C. 不能三表连接 D. 只能用 WHERE 关联
【答案】A
【解析】MySQL 支持多表连续 JOIN,可直接实现三表及以上连接。
13. 内连接与左外连接的主要区别是()
A. 语法完全不同 B. 内连接只保留匹配行,左连接保留左表全部行
C. 左连接速度更快 D. 内连接可以不用关联条件
【答案】B
【解析】核心区别:内连接取匹配交集,左连接保留左表所有记录。
14. 在 JOIN 连接语法中,关联条件写在哪个子句后()
A.FROM B.ON C.WHERE D.HAVING
【答案】B
【解析】JOIN 后紧跟 ON,用于书写表与表的关联条件。
15. 下列语法属于标准内连接格式的是()
A. 表 1 INNER JOIN 表 2 ON 关联条件
B. 表 1 FROM 表 2
C. 表 1 WHERE 表 2
D. 表 1 GROUP BY 表 2
【答案】A
【解析】标准内连接语法:表 1 INNER JOIN 表 2 ON 关联条件。
16. 关于表别名在连接查询中的作用,说法正确的是()
A. 仅美观无实际作用 B. 简化语句、区分同名字段
C. 只能用于单表查询 D. 别名定义后不能使用
【答案】B
【解析】表别名既可简化 SQL 书写,又能解决多表同名字段冲突。
17. 左连接查询中,筛选右表数据条件建议写在()
A.ON 后面 B.WHERE 后面 C.GROUP BY 后 D.ORDER BY 后
【答案】A
【解析】右表筛选条件写在 ON 后,不影响左表所有数据保留;写在 WHERE 会失效左连接特性。
18. 下列不属于 MySQL 连接查询类型的是()
A. 内连接 B. 左外连接 C. 右外连接 D. 逻辑连接
【答案】D
【解析】MySQL 连接类型包含内连接、左外连接、右外连接、交叉连接,无逻辑连接。
19. 多表连接查询时,添加筛选条件不会影响左表全部数据保留的是()
A. 把条件写在 ON 后 B. 把条件写在 WHERE 后 C. 写在 GROUP BY D. 写在 ORDER BY
【答案】A
【解析】ON 中设置右表筛选条件,仍保留左表全部记录。
20. 内连接查询若省略 ON 关联条件,会产生()
A. 无结果 B. 笛卡尔积 C. 自动匹配主键 D. 语法报错
【答案】B
【解析】省略关联条件,两表所有行互相交叉匹配,产生笛卡尔积。
二、填空题(共10空,每空1分,共10分)
21. 两表内连接查询关键字是________。
【答案】INNER JOIN
【解析】内连接标准关键字为 INNER JOIN。
22. 左外连接使用________ JOIN 关键字。
【答案】LEFT
【解析】LEFT JOIN 为左外连接固定写法。
23. 连接查询中,设置表之间关联条件使用________子句。
【答案】ON
【解析】JOIN 连接的表关联条件统一写在 ON 子句中。
24. 右外连接会保留________表的所有记录。
【答案】右
【解析】RIGHT JOIN 特性:保留右表全部记录。
25. 多表连接查询中,为简化表名可以给表设置________。
【答案】别名
【解析】设置表别名可简化语句、区分同名字段。
26. INNER JOIN 只返回两表________的记录行。
【答案】匹配
【解析】内连接仅返回满足关联条件的匹配行。
27. LEFT JOIN 中右表无匹配数据时,字段自动填充为________。
【答案】NULL
【解析】外连接无匹配字段默认填充 NULL。
28. 三张及以上数据表查询可采用连续________方式实现。
【答案】JOIN
【解析】多表查询可通过连续 JOIN 依次关联多张表。
29. 连接查询中,同名字段必须用 表名 / 别名________字段名 方式区分。
【答案】.
【解析】格式规范:表名。字段名 或 别名。字段名。
30. MySQL 可通过 LEFT JOIN 和 RIGHT JOIN 合并模拟________外连接。
【答案】全
【解析】MySQL 无原生全外连接,可用左、右连接合并模拟全外连接。
三、判断题(共5题,每题1分,共5分)
31. 内连接 INNER JOIN 只会保留两表匹配的数据行。( )
【答案】√
【解析】内连接原理就是只返回两表关联条件匹配的交集记录。
32. 左外连接 LEFT JOIN 会丢弃左表中无匹配的记录。( )
【答案】×
【解析】左外连接强制保留左表所有记录,不会丢弃无匹配行。
33. 连接查询中表别名一旦定义,后续只能使用别名引用。( )
【答案】√
【解析】定义表别名后,语句中必须使用别名,不能再用原表名。
34. RIGHT JOIN 是右外连接,保留右表所有数据。( )
【答案】√
【解析】右外连接固定保留右表全部记录,左表无匹配补 NULL。
35. 连接查询的关联条件必须写在 ON 子句中。( )
【答案】√
【解析】标准 JOIN 语法要求表关联条件写在 ON,不可用 WHERE 做主表关联条件。
四、写命令题(共5题,每题9分,共45分)
36. 已知有部门表dept(deptno INT PRIMARY KEY, dname VARCHAR(20), loc VARCHAR(20))和员工表emp(empno INT PRIMARY KEY, ename VARCHAR(30), deptno INT),emp.deptno是参照dept.deptno的外键,请写出SQL命令:查询每个部门的部门名称和在该部门工作的员工人数,只显示员工数大于2的部门,按人数降序排列。
【答案】
SELECT d.dname, COUNT(e.empno) AS emp_count
FROM dept d
LEFT JOIN emp e ON d.deptno = e.deptno
GROUP BY d.deptno, d.dname
HAVING COUNT(e.empno) > 2
ORDER BY emp_count DESC;
【解析】本题综合考查左连接+分组聚合+HAVING+ORDER BY,考查内容关键词:LEFT JOIN、GROUP BY、HAVING、COUNT。
37. 已知有学生表 student(sno VARCHAR(10) PRIMARY KEY, sname VARCHAR(20) NOT NULL, sage INT, sdept VARCHAR(20)),成绩表 sc(sno VARCHAR(10), cno VARCHAR(10), grade INT, PRIMARY KEY(sno,cno)),请写出 SQL 命令:查询计算机系(sdept='CS')中,成绩在 80 分及以上的学生的学号、姓名和成绩,按成绩降序排列。
【答案】
SELECT s.sno, s.sname, sc.grade
FROM student s
INNER JOIN sc ON s.sno = sc.sno
WHERE s.sdept = 'CS' AND sc.grade >= 80
ORDER BY sc.grade DESC;
【解析】本题考查多表连接+条件查询+ORDER BY排序,考查内容关键词:SELECT、连接查询、条件查询、ORDER BY DESC。
38. 已知有学生表student(sno CHAR(8), sname VARCHAR(20), sdept VARCHAR(20))和成绩表score(sno CHAR(8), cno VARCHAR(10), grade INT),请写出SQL命令:查询每个院系各门课程的平均成绩,只显示平均成绩大于等于75分的院系。
【答案】
SELECT st.sdept, sc.cno, AVG(sc.grade) AS avg_grade
FROM student st
INNER JOIN score sc ON st.sno = sc.sno
GROUP BY st.sdept, sc.cno
HAVING AVG(sc.grade) >= 75;
【解析】本题综合考查多表连接+分组聚合+HAVING过滤,考查内容关键词:INNER JOIN、GROUP BY、HAVING、AVG。
39. 已知有课程表course(cno VARCHAR(10) PRIMARY KEY, cname VARCHAR(50), credit INT)和成绩表sc(sno VARCHAR(10), cno VARCHAR(10), grade INT),请写出SQL命令:查询所有课程(包括没有被选修的课程)的课程名称和选修人数,对未选修的课程显示0人。
【答案】
SELECT c.cname, COUNT(sc.sno) AS stu_count
FROM course c
LEFT JOIN sc ON c.cno = sc.cno
GROUP BY c.cno, c.cname;
【解析】本题综合考查左连接+分组聚合+COUNT统计,考查内容关键词:LEFT JOIN、GROUP BY、COUNT聚合函数。
40. 已知有供应商表supplier(sid INT PRIMARY KEY, sname VARCHAR(50), city VARCHAR(30))和零件表part(pid INT PRIMARY KEY, pname VARCHAR(50), color VARCHAR(20))以及供应关系表supply(sid INT, pid INT, quantity INT),请写出SQL命令:查询供应零件数量大于100的供应商名称和城市,按数量降序排列。
【答案】
SELECT s.sname, s.city, SUM(su.quantity) AS total_qty
FROM supplier s
INNER JOIN supply su ON s.sid = su.sid
GROUP BY s.sid, s.sname, s.city
HAVING SUM(su.quantity) > 100
ORDER BY total_qty DESC;
【解析】本题综合考查多表连接+分组聚合+HAVING+ORDER BY,考查内容关键词:多表INNER JOIN、GROUP BY、HAVING聚合过滤。
学科网(北京)股份有限公司
$
编写说明:河北省对口招生计算机类《考纲百套卷》,依据《河北省普通高等学校对口招生考试大纲(2028版专业课)计算机类》编写。本专辑涵盖9门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。
本试卷是第32卷为专业核心模块训练卷,按《数据库原理与应用技术》中"数据库卷10——连接查询"范围和要求编写。具体内容为:掌握连接查询:SELECT < 字段名 1>[, 字段名 2,... ] ...FROM < 表名 1> INNER|LEFT|RIGHT JOIN < 表名 2> ON 表名 1. 字段名 1 = 表名 2. 字段名 2;
河北省对口招生职业技能考试
数据库原理与应用技术 试卷
(数据库卷10——连接查询)
考试时间:90分钟 满分:100分
一、单项选择题(共20题,每题2分,共40分)
1. MySQL 中,内连接的关键字是()
A.INNER JOIN B.LEFT JOIN C.RIGHT JOIN D.FULL JOIN
2. 两表进行连接查询时,用来设置关联条件的子句是()
A.WHERE B.ON C.GROUP BY D.ORDER BY
3. 左外连接 LEFT JOIN 的查询结果是()
A. 只返回两表完全匹配记录
B. 返回左表所有记录,右表无匹配则补 NULL
C. 返回右表所有记录,左表无匹配则补 NULL
D. 只返回右表匹配记录
4. 右外连接 RIGHT JOIN 的查询结果是()
A. 返回左表所有记录
B. 返回右表所有记录,左表无匹配则补 NULL
C. 仅返回两表交集
D. 两表所有记录全部保留
5. 内连接 INNER JOIN 查询结果保留的是()
A. 左表全部行 B. 右表全部行 C. 两表满足关联条件的匹配行 D. 两表所有行
6. 多表连接查询中,为简化表名书写可以使用()
A. 表别名 B. 字段别名 C. 引号 D. 括号
7. 下列哪项属于外连接()
A.INNER JOIN B.LEFT JOIN C.CROSS JOIN D. 以上都不是
8. 关于多表连接查询,下列说法正确的是()
A. 必须使用 ON 指定关联条件
B. 不能给表起别名
C. 左连接会丢弃左表不匹配数据
D. 内连接可以不用关联条件
9. 使用 LEFT JOIN 连接两表,右表无匹配数据时,右表字段显示为()
A.0 B. 空字符串 C.NULL D. 随机值
10. 若两张表存在同名字段,连接查询时正确写法是()
A. 直接写字段名 B. 表别名。字段名 C. 加单引号 D. 随便书写
11. MySQL 中,不支持完整全外连接,可以替代实现的方式是()
A.LEFT JOIN 单独使用 B.RIGHT JOIN 单独使用
C.LEFT JOIN 与 RIGHT JOIN 结果 UNION D.INNER JOIN
12. 三张表进行连续连接查询,连接关键字使用顺序正确的是()
A. 表 1 JOIN 表 2 JOIN 表 3 B. 只能两两分开查询
C. 不能三表连接 D. 只能用 WHERE 关联
13. 内连接与左外连接的主要区别是()
A. 语法完全不同 B. 内连接只保留匹配行,左连接保留左表全部行
C. 左连接速度更快 D. 内连接可以不用关联条件
14. 在 JOIN 连接语法中,关联条件写在哪个子句后()
A.FROM B.ON C.WHERE D.HAVING
15. 下列语法属于标准内连接格式的是()
A. 表 1 INNER JOIN 表 2 ON 关联条件
B. 表 1 FROM 表 2
C. 表 1 WHERE 表 2
D. 表 1 GROUP BY 表 2
16. 关于表别名在连接查询中的作用,说法正确的是()
A. 仅美观无实际作用 B. 简化语句、区分同名字段
C. 只能用于单表查询 D. 别名定义后不能使用
17. 左连接查询中,筛选右表数据条件建议写在()
A.ON 后面 B.WHERE 后面 C.GROUP BY 后 D.ORDER BY 后
18. 下列不属于 MySQL 连接查询类型的是()
A. 内连接 B. 左外连接 C. 右外连接 D. 逻辑连接
19. 多表连接查询时,添加筛选条件不会影响左表全部数据保留的是()
A. 把条件写在 ON 后 B. 把条件写在 WHERE 后 C. 写在 GROUP BY D. 写在 ORDER BY
20. 内连接查询若省略 ON 关联条件,会产生()
A. 无结果 B. 笛卡尔积 C. 自动匹配主键 D. 语法报错
二、填空题(共10空,每空1分,共10分)
21. 两表内连接查询关键字是________。
22. 左外连接使用________ JOIN 关键字。
23. 连接查询中,设置表之间关联条件使用________子句。
24. 右外连接会保留________表的所有记录。
25. 多表连接查询中,为简化表名可以给表设置________。
26. INNER JOIN 只返回两表________的记录行。
27. LEFT JOIN 中右表无匹配数据时,字段自动填充为________。
28. 三张及以上数据表查询可采用连续________方式实现。
29. 连接查询中,同名字段必须用 表名 / 别名________字段名 方式区分。
30. MySQL 可通过 LEFT JOIN 和 RIGHT JOIN 合并模拟________外连接。
三、判断题(共5题,每题1分,共5分)
31. 内连接 INNER JOIN 只会保留两表匹配的数据行。( )
32. 左外连接 LEFT JOIN 会丢弃左表中无匹配的记录。( )
33. 连接查询中表别名一旦定义,后续只能使用别名引用。( )
34. RIGHT JOIN 是右外连接,保留右表所有数据。( )
35. 连接查询的关联条件必须写在 ON 子句中。( )
四、写命令题(共5题,每题9分,共45分)
36. 已知有部门表dept(deptno INT PRIMARY KEY, dname VARCHAR(20), loc VARCHAR(20))和员工表emp(empno INT PRIMARY KEY, ename VARCHAR(30), deptno INT),emp.deptno是参照dept.deptno的外键,请写出SQL命令:查询每个部门的部门名称和在该部门工作的员工人数,只显示员工数大于2的部门,按人数降序排列。
37. 已知有学生表 student(sno VARCHAR(10) PRIMARY KEY, sname VARCHAR(20) NOT NULL, sage INT, sdept VARCHAR(20)),成绩表 sc(sno VARCHAR(10), cno VARCHAR(10), grade INT, PRIMARY KEY(sno,cno)),请写出 SQL 命令:查询计算机系(sdept='CS')中,成绩在 80 分及以上的学生的学号、姓名和成绩,按成绩降序排列。
38. 已知有学生表student(sno CHAR(8), sname VARCHAR(20), sdept VARCHAR(20))和成绩表score(sno CHAR(8), cno VARCHAR(10), grade INT),请写出SQL命令:查询每个院系各门课程的平均成绩,只显示平均成绩大于等于75分的院系。
39. 已知有课程表course(cno VARCHAR(10) PRIMARY KEY, cname VARCHAR(50), credit INT)和成绩表sc(sno VARCHAR(10), cno VARCHAR(10), grade INT),请写出SQL命令:查询所有课程(包括没有被选修的课程)的课程名称和选修人数,对未选修的课程显示0人。
40. 已知有供应商表supplier(sid INT PRIMARY KEY, sname VARCHAR(50), city VARCHAR(30))和零件表part(pid INT PRIMARY KEY, pname VARCHAR(50), color VARCHAR(20))以及供应关系表supply(sid INT, pid INT, quantity INT),请写出SQL命令:查询供应零件数量大于100的供应商名称和城市,按数量降序排列。
学科网(北京)股份有限公司
$