1.简单
UNION ALL 与 UNION 有何不同?
- AUNION ALL 保留重复行
- BUNION ALL 只适用于一个表
- CUNION ALL 会对结果排序
- DUNION ALL 去除重复行
2.简单
WHERE price BETWEEN 10 AND 20 会选出哪些行?
- Aprice 在 10 到 20 范围之外的行
- B只有 price 等于 10 或 20 的行
- Cprice 大于 10 且小于 20 的行,不包括 10 和 20
- Dprice 在 10 到 20 之间的行,包括 10 和 20
3.简单
CROSS JOIN 返回什么?
- A只有不匹配的行
- B只有第一个表的行
- C两个表中行的所有组合
- D只有在共享键列上匹配的行
4.中等
GRANT SELECT ON employees TO alice 的作用是什么?
- A允许用户 alice 读取 employees 表
- B让 alice 成为数据库的所有者
- C把 employees 表复制给 alice
- D允许 alice 更新和删除 employees 表中的行
5.中等
对于一行,WHERE EXISTS (subquery) 在什么情况下为真?
- A子查询返回一个大于零的数时
- B子查询至少返回一行时
- C子查询不返回 NULL 值时
- D子查询恰好返回一行时
6.中等
哪个 ACID 特性保证已提交的更改在系统崩溃后仍然存在?
- A原子性
- B持久性
- C一致性
- D隔离性
7.困难
在 (last_name, first_name) 上有一个复合索引。哪个条件能最有效地利用它?
- AWHERE first_name = 'Eva'
- BWHERE last_name = 'Jansen'
- CWHERE first_name LIKE '%a'
- DWHERE UPPER(first_name) = 'EVA'
8.困难
两阶段锁(2PL)能保证:
- A事务永远不需要等待
- B不需要任何锁
- C永远不会发生死锁
- D冲突可串行化的调度
答案
- 1. A · UNION ALL 保留重复行
- 2. D · price 在 10 到 20 之间的行,包括 10 和 20
- 3. C · 两个表中行的所有组合
- 4. A · 允许用户 alice 读取 employees 表
- 5. B · 子查询至少返回一行时
- 6. B · 持久性
- 7. B · WHERE last_name = 'Jansen'
- 8. D · 冲突可串行化的调度
完整分步解答:请在 examproblems.com 上练习本主题。