1.简单
哪条语句向已有的表中添加新列?
- AALTER TABLE
- BUPDATE TABLE
- CINSERT COLUMN
- DCREATE COLUMN
2.简单
什么是复合键?
- A由两列或更多列组成的键
- B允许重复值的键
- C存储在单独表中的键
- D由数据库生成的键
3.简单
UNION ALL 与 UNION 有何不同?
- AUNION ALL 去除重复行
- BUNION ALL 保留重复行
- CUNION ALL 会对结果排序
- DUNION ALL 只适用于一个表
4.中等
什么是脏读?
- A两次读取同一行并得到相同的值
- B不带 WHERE 子句读取数据
- C从损坏的磁盘读取数据
- D读取另一个尚未提交的事务所写入的数据
5.中等
哪个查询返回 customers 表中不同城市的数量?
- ASELECT COUNT(DISTINCT city) FROM customers
- BSELECT SUM(DISTINCT city) FROM customers
- CSELECT DISTINCT COUNT(city) FROM customers
- DSELECT COUNT(city) FROM customers GROUP BY city
6.中等
ACID 中的 "A" 代表什么?
- A准确性(Accuracy)
- B原子性(Atomicity)
- C可用性(Availability)
- D聚合性(Aggregation)
7.困难
把 R 分解为 R1 和 R2 在什么情况下保证是无损的?
- AR 的每个属性都同时出现在 R1 和 R2 中时
- BR1 和 R2 没有公共属性时
- CR1 和 R2 的公共属性构成 R1 或 R2 的超键时
- DR1 和 R2 的列数相同时
8.困难
要在深度未知的组织树中找出某位经理下属的所有员工,哪种 SQL 功能最合适?
- A递归公用表表达式(WITH RECURSIVE)
- B基于 manager_id 对 employees 表做一次自连接
- C对 manager_id 进行 GROUP BY
- D在 manager_id 上加 UNIQUE 约束
答案
- 1. A · ALTER TABLE
- 2. A · 由两列或更多列组成的键
- 3. B · UNION ALL 保留重复行
- 4. D · 读取另一个尚未提交的事务所写入的数据
- 5. A · SELECT COUNT(DISTINCT city) FROM customers
- 6. B · 原子性(Atomicity)
- 7. C · R1 和 R2 的公共属性构成 R1 或 R2 的超键时
- 8. A · 递归公用表表达式(WITH RECURSIVE)
完整分步解答:请在 examproblems.com 上练习本主题。