1.简单
哪个聚合函数返回数值列的平均值?
- ASUM
- BAVG
- CMEDIAN
- DMEAN
2.简单
CROSS JOIN 返回什么?
- A只有第一个表的行
- B两个表中行的所有组合
- C只有不匹配的行
- D只有在共享键列上匹配的行
3.简单
在 PostgreSQL 和 MySQL 中,哪个子句只返回结果的前 10 行?
- AMAX 10
- BTOP ROWS 10
- CLIMIT 10
- DFIRST 10 ONLY
4.中等
GRANT SELECT ON employees TO alice 的作用是什么?
- A允许用户 alice 读取 employees 表
- B让 alice 成为数据库的所有者
- C允许 alice 更新和删除 employees 表中的行
- D把 employees 表复制给 alice
5.中等
哪个查询返回 customers 表中不同城市的数量?
- ASELECT COUNT(city) FROM customers GROUP BY city
- BSELECT COUNT(DISTINCT city) FROM customers
- CSELECT DISTINCT COUNT(city) FROM customers
- DSELECT SUM(DISTINCT city) FROM customers
6.中等
在两个 SELECT 查询之间使用 INTERSECT 时返回什么?
- A两个结果中的所有行
- B同时出现在两个结果中的行
- C两个结果的笛卡尔积
- D在第一个结果中但不在第二个中的行
7.困难
x 为 NULL,y = 1。条件 (x > 5 OR y = 1) 的值是什么?
- AUNKNOWN
- BNULL,因此该行总是被拒绝
- CTRUE
- DFALSE
8.困难
事务 T1 锁定了行 A 并等待行 B,而 T2 锁定了行 B 并等待行 A。典型的 DBMS 会怎么做?
- A让两个事务都等待,直到其中一个正常提交
- B同时提交两个事务
- C检测到死锁,并中止其中一个事务作为牺牲者
- D把两个事务合并为一个
答案
- 1. B · AVG
- 2. B · 两个表中行的所有组合
- 3. C · LIMIT 10
- 4. A · 允许用户 alice 读取 employees 表
- 5. B · SELECT COUNT(DISTINCT city) FROM customers
- 6. B · 同时出现在两个结果中的行
- 7. C · TRUE
- 8. C · 检测到死锁,并中止其中一个事务作为牺牲者
完整分步解答:请在 examproblems.com 上练习本主题。