1.简单
UNION 对两个 SELECT 查询的结果做什么?
- A按某个键把它们左右并排连接
- B只保留同时出现在两者中的行
- C只保留出现在第一个查询中而不在第二个查询中的行
- D把它们合并为一个结果并去除重复行
2.简单
哪条 SQL 语句向表中添加新行?
- AUPDATE
- BALTER
- CINSERT
- DSELECT
3.简单
什么是代理键?
- A只在视图中使用的键
- B没有业务含义的人工标识符,例如自增 id
- C由电子邮件地址等真实数据构成的键
- D引用另一个表的键
4.中等
哪条语句删除表中的所有行、保留其结构,并且不能带 WHERE 子句?
- AALTER TABLE
- BDROP TABLE
- CTRUNCATE TABLE
- D带 WHERE 子句的 DELETE FROM
5.中等
对于电话号码为 NULL 的客户,SELECT COALESCE(phone, 'unknown') FROM customers 返回什么?
- A报错
- B'unknown'
- C空字符串
- DNULL
6.中等
在关系代数中,投影运算符(π)对应于:
- A对结果排序
- B选择哪些行满足给定条件
- C按键组合两个表
- D选择哪些列出现在结果中
7.困难
哪种隔离级别可以防止脏读,但仍允许不可重复读?
- A可串行化(Serializable)
- B读已提交(Read committed)
- C可重复读(Repeatable read)
- D读未提交(Read uncommitted)
8.困难
SELECT day, SUM(amount) OVER (ORDER BY day) FROM sales 计算的是什么?
- A每一行上所有金额的总和
- B每天的平均金额
- C按 day 排序的 amount 累计总和
- D每天一行,只有当天的总额
答案
- 1. D · 把它们合并为一个结果并去除重复行
- 2. C · INSERT
- 3. B · 没有业务含义的人工标识符,例如自增 id
- 4. C · TRUNCATE TABLE
- 5. B · 'unknown'
- 6. D · 选择哪些列出现在结果中
- 7. B · 读已提交(Read committed)
- 8. C · 按 day 排序的 amount 累计总和
完整分步解答:请在 examproblems.com 上练习本主题。