DSE ICT|关联式数据库与 SQL 配套练习(第一份・基础查询) 2026-11-04 导师备课指引 · 中学 ICT DSE ICT|关联式数据库与 SQL 配套练习(第一份・基础查询) 由 12 列学生表的同一组数据开始,逐题数列数栏,再练 LIKE 前缀、排序与 NULL 的比较陷阱。 先做题,后对答案 建议三十分钟;每题先在纸上写出回传的列数与栏数,再落 SQL。 01 本卷资料(做完才看答案) 项目 内容 题数 10 题 建议时间 约 30 分钟 难度分布 基础 4 · 进阶 3 · 挑战 2 · 错题重练 1 对应章节 所属章节:DSE ICT|关联式数据库与 SQL 适用年级 中五(S5)ICT 02 题目(10 题) 基础资料表 Students 有 12 列、5 栏。执行 `SELECT name FROM Students WHERE form = 4;`,而 form = 4 的学生有 5 人,结果共有几列几栏? 基础主键(primary key)有哪两个必须成立的条件?主键栏可以存 NULL 吗? 基础外键(foreign key)的作用是什么?它可否与其他列的数值重复? 基础一张 Books 表有 30 列、6 栏。`SELECT * FROM Books;` 回传多少个资料值(cell)? 进阶以同一组资料(form 4 有 S01 72、S02 85、S03 64、S04 91、S05 58),`SELECT name FROM Students WHERE form = 4 AND score >= 85;` 回传哪几列,共几列? 进阶学生编号由 S01 至 S12。`WHERE id LIKE ‘S0%’;` 会回传几列?为什么 S10 不在其中? 进阶同一组 12 位学生总分 902。`SELECT COUNT(*), AVG(score) FROM Students;` 的两个结果是? 挑战分数为 72、85、64、91、58、77、83、69、95、88、54、66。`ORDER BY score DESC LIMIT 3;` 的三个分数依次是?第三高分是多少? 挑战`SELECT DISTINCT form FROM Students;` 在同组资料(form 4、5、6)回传几列?若改用 `SELECT form FROM Students;` 又回传几列? 错题重练错题重练:有同学写 `WHERE score = NULL;` 想找出没有分数的学生。正确写法与原因? 03 答案与一句解说 题号 答案 一句解说 1 5 列、1 栏 WHERE 只筛选列(元组),SELECT 后只写 name 就只保留一个属性。 2 唯一(unique)且非空(not null);不可以存 NULL 主键用来识别每一列,重复或空值都会令“这一列是谁”无法判定。 3 指向另一张表的主键以建立关联;可以重复(多对一),亦可以全部为 NULL(若允许) 外键管的是“引用必须存在”,重复是正常的:多个学生可同属一班。 4 180 个 30 列 × 6 栏 = 180 格;SELECT * 不会筛走任何列或栏。 5 S02(85)与 S04(91),共 2 列 AND 要两个条件同时成立,85 与 91 才过关。 6 9 列(S01–S09);S10、S11、S12 第二个字是 1,不符合 S0 开头 LIKE 的 % 代表任意字串,但 S0 是固定前缀,逐字比对。 7 COUNT(*) = 12;AVG = 75.17(902 ÷ 12 = 75.166…) AVG 忽略 NULL 但这里无 NULL,所以直接总和除以列数。 8 95、91、88;第三高分是 88 DESC 由大到小,LIMIT 3 只取前三列;88 与 85 只差 3 分,排序要准。 9 DISTINCT 回 3 列;不加 DISTINCT 回 12 列(每列一次) DISTINCT 去除重复值,只保留出现过的级别;不加就逐列输出,重复照样保留。 10 应写 `WHERE score IS NULL;`;NULL 不是一个值,= 比较永远得 unknown,不会回任何列 NULL 代表“未知”,任何与 NULL 的等值比较都不成立,必须用 IS NULL 或 IS NOT NULL。 04 做完之后怎样跟进 对完答案,只重做错的那几题,并在错题旁写出错在哪一步(公式、单位还是抄错数)。 同一题隔两日再做一次;两次都对才可以移到下一份练习。 家长只需看答案栏与解说栏,不必逐题讲解。 想找导师跟进这一章?按此登记导师登记 → 本卷题目与答案由 TutorZone 团队原创编写,并非任何学校、出版社或考试局的试题;数值与答案均以程式核算。
DSE ICT|关联式数据库与 SQL 配套练习(第一份・基础查询) 2026-11-04 导师备课指引 · 中学 ICT DSE ICT|关联式数据库与 SQL 配套练习(第一份・基础查询) 由 12 列学生表的同一组数据开始,逐题数列数栏,再练 LIKE 前缀、排序与 NULL 的比较陷阱。 先做题,后对答案 建议三十分钟;每题先在纸上写出回传的列数与栏数,再落 SQL。 01 本卷资料(做完才看答案) 项目 内容 题数 10 题 建议时间 约 30 分钟 难度分布 基础 4 · 进阶 3 · 挑战 2 · 错题重练 1 对应章节 所属章节:DSE ICT|关联式数据库与 SQL 适用年级 中五(S5)ICT 02 题目(10 题) 基础资料表 Students 有 12 列、5 栏。执行 `SELECT name FROM Students WHERE form = 4;`,而 form = 4 的学生有 5 人,结果共有几列几栏? 基础主键(primary key)有哪两个必须成立的条件?主键栏可以存 NULL 吗? 基础外键(foreign key)的作用是什么?它可否与其他列的数值重复? 基础一张 Books 表有 30 列、6 栏。`SELECT * FROM Books;` 回传多少个资料值(cell)? 进阶以同一组资料(form 4 有 S01 72、S02 85、S03 64、S04 91、S05 58),`SELECT name FROM Students WHERE form = 4 AND score >= 85;` 回传哪几列,共几列? 进阶学生编号由 S01 至 S12。`WHERE id LIKE ‘S0%’;` 会回传几列?为什么 S10 不在其中? 进阶同一组 12 位学生总分 902。`SELECT COUNT(*), AVG(score) FROM Students;` 的两个结果是? 挑战分数为 72、85、64、91、58、77、83、69、95、88、54、66。`ORDER BY score DESC LIMIT 3;` 的三个分数依次是?第三高分是多少? 挑战`SELECT DISTINCT form FROM Students;` 在同组资料(form 4、5、6)回传几列?若改用 `SELECT form FROM Students;` 又回传几列? 错题重练错题重练:有同学写 `WHERE score = NULL;` 想找出没有分数的学生。正确写法与原因? 03 答案与一句解说 题号 答案 一句解说 1 5 列、1 栏 WHERE 只筛选列(元组),SELECT 后只写 name 就只保留一个属性。 2 唯一(unique)且非空(not null);不可以存 NULL 主键用来识别每一列,重复或空值都会令“这一列是谁”无法判定。 3 指向另一张表的主键以建立关联;可以重复(多对一),亦可以全部为 NULL(若允许) 外键管的是“引用必须存在”,重复是正常的:多个学生可同属一班。 4 180 个 30 列 × 6 栏 = 180 格;SELECT * 不会筛走任何列或栏。 5 S02(85)与 S04(91),共 2 列 AND 要两个条件同时成立,85 与 91 才过关。 6 9 列(S01–S09);S10、S11、S12 第二个字是 1,不符合 S0 开头 LIKE 的 % 代表任意字串,但 S0 是固定前缀,逐字比对。 7 COUNT(*) = 12;AVG = 75.17(902 ÷ 12 = 75.166…) AVG 忽略 NULL 但这里无 NULL,所以直接总和除以列数。 8 95、91、88;第三高分是 88 DESC 由大到小,LIMIT 3 只取前三列;88 与 85 只差 3 分,排序要准。 9 DISTINCT 回 3 列;不加 DISTINCT 回 12 列(每列一次) DISTINCT 去除重复值,只保留出现过的级别;不加就逐列输出,重复照样保留。 10 应写 `WHERE score IS NULL;`;NULL 不是一个值,= 比较永远得 unknown,不会回任何列 NULL 代表“未知”,任何与 NULL 的等值比较都不成立,必须用 IS NULL 或 IS NOT NULL。 04 做完之后怎样跟进 对完答案,只重做错的那几题,并在错题旁写出错在哪一步(公式、单位还是抄错数)。 同一题隔两日再做一次;两次都对才可以移到下一份练习。 家长只需看答案栏与解说栏,不必逐题讲解。 想找导师跟进这一章?按此登记导师登记 → 本卷题目与答案由 TutorZone 团队原创编写,并非任何学校、出版社或考试局的试题;数值与答案均以程式核算。