1.简单
哪个 SQL 关键字用于去除结果中的重复行?
- AUNIQUE
- BDISTINCT
- CSINGLE
- DDIFFERENT
2.简单
哪个关键字用于对查询结果排序?
- ASORT
- BORDER BY
- CARRANGE
- DGROUP BY
3.简单
列上的 UNIQUE 约束保证什么?
- A该列的值是排好序的
- B任何两行在该列中都没有相同的非 NULL 值
- C该列自动成为表的主键
- D该列在插入后不能被修改
4.中等
函数依赖 A → B 是什么意思?
- AA 的每个值都恰好对应 B 的一个值
- BB 的每个值都恰好对应 A 的一个值
- CA 和 B 都是主键
- DA 是引用 B 的外键
5.中等
对于电话号码为 NULL 的客户,SELECT COALESCE(phone, 'unknown') FROM customers 返回什么?
- A空字符串
- BNULL
- C报错
- D'unknown'
6.中等
当 WHERE 子句没有匹配任何行时,SELECT SUM(amount) FROM orders 返回什么?
- A0
- B报错
- C空字符串
- DNULL
7.困难
一个报表数据库把客户姓名复制到 orders 表中以避免连接。这种反规范化的主要代价是什么?
- A数据库不能再使用索引
- B每当客户数据变化时,都必须保持冗余副本的一致
- C不能再使用主键
- D对 orders 表的查询变慢
8.困难
给定 R(A, B, C, D) 上的函数依赖 A → B、B → C 和 C → D,闭包 A+ 是什么?
- A{A}
- B{A, B, C}
- C{A, B}
- D{A, B, C, D}
答案
- 1. B · DISTINCT
- 2. B · ORDER BY
- 3. B · 任何两行在该列中都没有相同的非 NULL 值
- 4. A · A 的每个值都恰好对应 B 的一个值
- 5. D · 'unknown'
- 6. D · NULL
- 7. B · 每当客户数据变化时,都必须保持冗余副本的一致
- 8. D · {A, B, C, D}
完整分步解答:请在 examproblems.com 上练习本主题。