本单元讲的是把数据存进表格,并向表格提问。你会学到说出表格各部分的名称、选择能识别每条记录的键、写出带条件的 SELECT 查询、正确组合多个条件,以及解释为什么查询没有返回任何内容。
请到 Cambridge 官网查看最新的计算机科学 0478 课程大纲,确认你的考试年份所涉及的查询功能。我们的计算机科学学习指南会告诉你这个单元在整个科目中的位置。
开始之前需要掌握什么?
你需要能读懂由行和列组成的表格,并会用 =、< 和 > 比较数值。基本的布尔(Boolean)概念也有帮助:AND 要求两个条件都为真,OR 只要求至少一个为真。布尔与数制实验室可以让你在小例子上试一试。
导入例题
一家虚构的植物店把库存存放在名为 Plants 的表格里。本单元所有课程都会重复使用这张表。
| PlantID | Name | Type | Price | Stock | Indoor |
|---|---|---|---|---|---|
| P01 | Fern | Foliage | 12.50 | 8 | TRUE |
| P02 | Cactus | Succulent | 6.00 | 25 | TRUE |
| P03 | Rose | Flowering | 15.00 | 0 | FALSE |
| P04 | Mint | Herb | 4.50 | 40 | FALSE |
| P05 | Orchid | Flowering | 28.00 | 3 | TRUE |
| P06 | Basil | Herb | 5.00 | 12 | FALSE |
| P07 | Aloe | Succulent | 9.50 | 15 | TRUE |
| P08 | Hibiscus | Flowering | 18.00 | 6 | FALSE |
问题:哪些开花植物有库存?
SELECT Name
FROM Plants
WHERE Type = "Flowering" AND Stock > 0
逐条检查记录。
Rose 是开花植物,但 Stock 是 0,所以不符合。Orchid(3)和 Hibiscus(6)两个条件都满足。结果是两行:Orchid 和 Hibiscus。
应该按什么顺序学习这些课程?
- 区分字段、记录与表:之后每一课都用到这些词,先把它们弄清楚。
- 选择合适的键:键解释了为什么每条记录都能被准确找到一次。
- 写出简单的 SELECT 筛选:核心技能,一次处理一个条件。
- 用正确的布尔分组组合条件:AND、OR 和括号会改变哪些行被保留。
- 解释查询为什么没有返回行:把查询和数据对照起来的推理。
然后用原创练习题检测自己。只读 SQL 练习实验室可以在虚构数据库上安全地运行 SELECT 查询。
哪些陷阱最容易绊倒学生?
- 文本值没有加引号,或字段名拼写错误。
- 把要显示的列(SELECT)和要测试的列(WHERE)混在一起。
- 忘了 AND 比 OR 更严格,所以加上 AND 只会让行变少。
- 把
>读成“至少”:Price > 28不包括价格正好是 28.00 的植物。
怎样使用练习题?
先盖住答案,自己写出查询或结果,再对照表格逐行检查。把每个错误和原因记进错题记录,避免同样的失误再次出现。如果想要围绕这个主题的补习,可以看看我们的计算机科学线上一对一补习。