1.简单
哪种约束确保某列永远不能留空(NULL)?
- ACHECK NULL
- BDEFAULT
- CNOT NULL
- DUNIQUE
2.简单
在 WHERE 子句中,哪个运算符用于简单的文本模式匹配?
- ACONTAINS
- BMATCH
- CSIMILAR
- DLIKE
3.简单
哪条语句向已有的表中添加新列?
- AUPDATE TABLE
- BINSERT COLUMN
- CCREATE COLUMN
- DALTER TABLE
4.中等
学生可以选修多门课程,课程也有多名学生。在表中如何对此建模?
- A在 students 表中加一个指向 courses 的外键列 course_id
- B用一个联结表,其中保存指向 students 和 courses 的外键
- C把课程 id 列表存储在一列中
- D把 students 和 courses 合并成一个表
5.中等
哪个查询返回每个客户的订单数量?
- ASELECT customer_id, COUNT(*) FROM orders ORDER BY customer_id
- BSELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- CSELECT customer_id FROM orders WHERE COUNT(*) > 0
- DSELECT DISTINCT COUNT(*) FROM orders
6.中等
ACID 中的 "A" 代表什么?
- A原子性(Atomicity)
- B可用性(Availability)
- C准确性(Accuracy)
- D聚合性(Aggregation)
7.困难
要在深度未知的组织树中找出某位经理下属的所有员工,哪种 SQL 功能最合适?
- A对 manager_id 进行 GROUP BY
- B递归公用表表达式(WITH RECURSIVE)
- C在 manager_id 上加 UNIQUE 约束
- D基于 manager_id 对 employees 表做一次自连接
8.困难
哪种隔离级别可以防止脏读,但仍允许不可重复读?
- A可重复读(Repeatable read)
- B可串行化(Serializable)
- C读已提交(Read committed)
- D读未提交(Read uncommitted)
答案
- 1. C · NOT NULL
- 2. D · LIKE
- 3. D · ALTER TABLE
- 4. B · 用一个联结表,其中保存指向 students 和 courses 的外键
- 5. B · SELECT customer_id, COUNT(*) FROM orders GROUP BY customer_id
- 6. A · 原子性(Atomicity)
- 7. B · 递归公用表表达式(WITH RECURSIVE)
- 8. C · 读已提交(Read committed)
完整分步解答:请在 examproblems.com 上练习本主题。