1.简单
什么是代理键?
- A只在视图中使用的键
- B由电子邮件地址等真实数据构成的键
- C引用另一个表的键
- D没有业务含义的人工标识符,例如自增 id
2.简单
哪条语句向已有的表中添加新列?
- AINSERT COLUMN
- BUPDATE TABLE
- CCREATE COLUMN
- DALTER TABLE
3.简单
哪个聚合函数返回数值列的平均值?
- ASUM
- BMEDIAN
- CAVG
- DMEAN
4.中等
SQL 中的视图(view)是:
- A数据库客户端中用于浏览各个表的界面
- B一种索引类型
- C一个行为类似虚拟表的已存储查询
- D表在磁盘上的副本
5.中等
EXCEPT(在 Oracle 中称为 MINUS)返回什么?
- A第二个查询中不出现在第一个查询中的行
- B两个查询中都出现的行
- C两个查询的所有行,去除重复
- D第一个查询中不出现在第二个查询中的行
6.中等
对于电话号码为 NULL 的客户,SELECT COALESCE(phone, 'unknown') FROM customers 返回什么?
- A报错
- BNULL
- C空字符串
- D'unknown'
7.困难
对于两个没有可用索引的大表之间的等值连接,优化器通常选择哪种连接算法?
- A哈希连接
- B带索引查找的嵌套循环连接
- C主键上的位图连接
- D交叉连接
8.困难
EXPLAIN(或 PostgreSQL 中的 EXPLAIN ANALYZE)对一个查询显示什么?
- A查询中每个 SQL 关键字的含义
- B运行过该查询的用户列表
- C优化器选择的执行计划,例如扫描方式和连接方法
- D仅以关系代数表示法改写的查询
答案
- 1. D · 没有业务含义的人工标识符,例如自增 id
- 2. D · ALTER TABLE
- 3. C · AVG
- 4. C · 一个行为类似虚拟表的已存储查询
- 5. D · 第一个查询中不出现在第二个查询中的行
- 6. D · 'unknown'
- 7. A · 哈希连接
- 8. C · 优化器选择的执行计划,例如扫描方式和连接方法
完整分步解答:请在 examproblems.com 上练习本主题。