/cn-tutor-prep-s5-ict-databases-sql-practice-1/
/cn-tutor-prep-s5-ict-databases-sql-practice-1/
简体版
2
一般查询: info@TutorZone.com.hk
办公时间: 星期一至六 - 上午 9 时至下午 6 时
WhatsApp 星期一至日 - 24 小时
人手接听: +852 6828 1809
实时客服: +852 9061 3106

DSE ICT|关联式数据库与 SQL 配套练习(第一份・基础查询)

DSE ICT|关联式数据库与 SQL 配套练习(第一份・基础查询)

  • 2026-11-04

DSE ICT|关联式数据库与 SQL 配套练习(第一份・基础查询)

由 12 列学生表的同一组数据开始,逐题数列数栏,再练 LIKE 前缀、排序与 NULL 的比较陷阱。

先做题,后对答案 建议三十分钟;每题先在纸上写出回传的列数与栏数,再落 SQL。

01 本卷资料(做完才看答案)

项目 内容
题数 10 题
建议时间 约 30 分钟
难度分布 基础 4 · 进阶 3 · 挑战 2 · 错题重练 1
对应章节 所属章节:DSE ICT|关联式数据库与 SQL
适用年级 中五(S5)ICT

02 题目(10 题)

  1. 基础资料表 Students 有 12 列、5 栏。执行 `SELECT name FROM Students WHERE form = 4;`,而 form = 4 的学生有 5 人,结果共有几列几栏?
  2. 基础主键(primary key)有哪两个必须成立的条件?主键栏可以存 NULL 吗?
  3. 基础外键(foreign key)的作用是什么?它可否与其他列的数值重复?
  4. 基础一张 Books 表有 30 列、6 栏。`SELECT * FROM Books;` 回传多少个资料值(cell)?
  5. 进阶以同一组资料(form 4 有 S01 72、S02 85、S03 64、S04 91、S05 58),`SELECT name FROM Students WHERE form = 4 AND score >= 85;` 回传哪几列,共几列?
  6. 进阶学生编号由 S01 至 S12。`WHERE id LIKE ‘S0%’;` 会回传几列?为什么 S10 不在其中?
  7. 进阶同一组 12 位学生总分 902。`SELECT COUNT(*), AVG(score) FROM Students;` 的两个结果是?
  8. 挑战分数为 72、85、64、91、58、77、83、69、95、88、54、66。`ORDER BY score DESC LIMIT 3;` 的三个分数依次是?第三高分是多少?
  9. 挑战`SELECT DISTINCT form FROM Students;` 在同组资料(form 4、5、6)回传几列?若改用 `SELECT form FROM Students;` 又回传几列?
  10. 错题重练错题重练:有同学写 `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 团队原创编写,并非任何学校、出版社或考试局的试题;数值与答案均以程式核算。

招募导师及兴趣班教练|学术、乐器、体育、艺术、STEM,免费登记,招生与配对交给平台。 了解详情 →