1.简单
在 LIKE 模式中,通配符 % 代表什么?
- A任意一个数字
- B任意零个或多个字符组成的序列
- C字符串的结尾
- D字符串该位置上恰好一个字符
2.简单
如何把结果按工资从高到低排序?
- AGROUP BY salary DESC
- BORDER BY salary DESC
- CSORT salary DOWN
- DORDER BY salary ASC
3.简单
什么是代理键?
- A只在视图中使用的键
- B由电子邮件地址等真实数据构成的键
- C引用另一个表的键
- D没有业务含义的人工标识符,例如自增 id
4.中等
employees 表有一列 manager_id,引用另一名员工。如何在每名员工旁边列出其经理的姓名?
- A只使用 GROUP BY manager_id
- B使用 UNION ALL 和 WHERE 过滤把该表与自身合并
- C用两个别名把 employees 表与它自身连接
- 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.中等
函数依赖 A → B 是什么意思?
- AB 的每个值都恰好对应 A 的一个值
- BA 的每个值都恰好对应 B 的一个值
- CA 是引用 B 的外键
- DA 和 B 都是主键
7.困难
下列查询返回什么:SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students)?
- A成绩高于平均成绩的学生
- B仅成绩最高的学生
- C所有学生的平均成绩
- D报错,因为 WHERE 中不允许使用子查询
8.困难
两名值班医生各自检查对方是否仍在值班,然后两人同时下班签退。快照隔离在这里仍可能允许哪种异常?
- A同一事务内的不可重复读
- B脏写
- C脏读
- D写偏斜(write skew)
答案
- 1. B · 任意零个或多个字符组成的序列
- 2. B · ORDER BY salary DESC
- 3. D · 没有业务含义的人工标识符,例如自增 id
- 4. C · 用两个别名把 employees 表与它自身连接
- 5. A · SELECT COUNT(DISTINCT city) FROM customers
- 6. B · A 的每个值都恰好对应 B 的一个值
- 7. A · 成绩高于平均成绩的学生
- 8. D · 写偏斜(write skew)
完整分步解答:请在 examproblems.com 上练习本主题。