1.简单
哪个关键字用于对查询结果排序?
- AGROUP BY
- BARRANGE
- CORDER BY
- DSORT
2.简单
CHECK 约束的作用是什么?
- A在对某个表执行查询之前检查该表是否存在
- B验证用户的密码
- C拒绝值不满足某个条件的行
- D统计表中的行数
3.简单
CREATE、ALTER 和 DROP 等语句属于 SQL 的哪一部分?
- A数据控制语言(DCL)
- B数据定义语言(DDL)
- C数据操纵语言(DML)
- D事务控制语言(TCL)
4.中等
一个外键声明了 ON DELETE CASCADE。删除父行时会发生什么?
- A引用它的子行会被自动删除
- B删除总是被拒绝
- C父行被复制到归档表中
- D子行中的外键自动被设为 NULL
5.中等
为什么一个表只能有一个聚集索引?
- ASQL 标准禁止一个表上有多个索引
- B聚集索引只能建在主键上
- C行在物理上只能按一种顺序存储
- D聚集索引占用太多内存
6.中等
对于电话号码为 NULL 的客户,SELECT COALESCE(phone, 'unknown') FROM customers 返回什么?
- A报错
- B空字符串
- C'unknown'
- DNULL
7.困难
两个事务都读到 stock = 10,各自减 1 后写回结果,最终得到 9 而不是 8。这是哪种异常?
- A删除异常
- B丢失更新
- C幻读
- D脏读
8.困难
为什么许多 DBMS 使用严格两阶段锁,把排他锁一直持有到提交?
- A它能防止级联中止,因为没有人能读到未提交的写入
- B它允许事务安全地读取脏数据
- C它使死锁不可能发生
- D它免去了事务日志
答案
- 1. C · ORDER BY
- 2. C · 拒绝值不满足某个条件的行
- 3. B · 数据定义语言(DDL)
- 4. A · 引用它的子行会被自动删除
- 5. C · 行在物理上只能按一种顺序存储
- 6. C · 'unknown'
- 7. B · 丢失更新
- 8. A · 它能防止级联中止,因为没有人能读到未提交的写入
完整分步解答:请在 examproblems.com 上练习本主题。