1.简单
什么是候选键?
- A能唯一标识每一行的最小列集合
- B等待成为外键的列
- C任何含有 NULL 值的列
- D两个表共有的、用于关联其行的一组列
2.简单
哪个关键字在查询中给列或表一个临时的别名?
- AAS
- BNAME
- CRENAME
- DALIAS
3.简单
哪条语句用于从表中删除行?
- ADELETE
- BTRUNCATE COLUMN
- CREMOVE
- DDROP
4.中等
哪个查询列出从未下过订单的客户?
- ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
- BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
- CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
5.中等
GRANT SELECT ON employees TO alice 的作用是什么?
- A让 alice 成为数据库的所有者
- B把 employees 表复制给 alice
- C允许用户 alice 读取 employees 表
- D允许 alice 更新和删除 employees 表中的行
6.中等
关于 HAVING,下列哪项说法正确?
- A它用于对结果排序
- B它在 SELECT 语句中必须写在 WHERE 之前
- C它不能与 GROUP BY 一起使用
- D它可以使用聚合函数来过滤分组
7.困难
为什么在生产查询中使用 NATURAL JOIN 被认为有风险?
- A没有任何数据库支持它
- B它忽略主键和外键,只保留 NULL 行
- C它总是返回笛卡尔积
- D它在所有同名列上连接,因此新增一列可能悄无声息地改变结果
8.困难
x 为 NULL,y = 1。条件 (x > 5 OR y = 1) 的值是什么?
- AUNKNOWN
- BTRUE
- CNULL,因此该行总是被拒绝
- DFALSE
答案
- 1. A · 能唯一标识每一行的最小列集合
- 2. A · AS
- 3. A · DELETE
- 4. C · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
- 5. C · 允许用户 alice 读取 employees 表
- 6. D · 它可以使用聚合函数来过滤分组
- 7. D · 它在所有同名列上连接,因此新增一列可能悄无声息地改变结果
- 8. B · TRUE
完整分步解答:请在 examproblems.com 上练习本主题。