1.简单
GROUP BY 在查询中起什么作用?
- A按字母顺序对结果行排序
- B按公共列连接两个表
- C把具有相同值的行放入同一组,从而按组计算聚合
- D删除含有 NULL 值的行
2.简单
实体-联系(ER)图用于什么?
- A列出数据库的用户
- B测量数据库性能
- C在设计数据库时为实体、实体的属性及其联系建模
- D显示查询是如何执行的
3.简单
哪个关键字用于对查询结果排序?
- ASORT
- BARRANGE
- CORDER BY
- DGROUP BY
4.中等
在两个 SELECT 查询之间使用 INTERSECT 时返回什么?
- A在第一个结果中但不在第二个中的行
- B两个结果中的所有行
- C两个结果的笛卡尔积
- D同时出现在两个结果中的行
5.中等
一个表中有些行的 col 为 NULL。WHERE col = NULL 返回哪些行?
- A只返回 col 为 NULL 的行,与 IS NULL 相同
- B返回表中的所有行
- C不返回任何行,因为比较结果是未知
- D在每种数据库中都报错
6.中等
employees 表有一列 manager_id,引用另一名员工。如何在每名员工旁边列出其经理的姓名?
- A在磁盘上创建该表的第二个副本
- B只使用 GROUP BY manager_id
- C使用 UNION ALL 和 WHERE 过滤把该表与自身合并
- D用两个别名把 employees 表与它自身连接
7.困难
Boyce–Codd 范式(BCNF)要求对于每个非平凡函数依赖 X → Y:
- AX 包含 NULL
- BY 是原子的
- CY 是主键
- DX 是超键
8.困难
并发事务的调度在什么情况下被称为可串行化的?
- A任何事务都从不读取数据
- B事务只在一个 CPU 上运行
- C每个事务都被分配一个序列号
- D其效果等价于这些事务的某种串行执行
答案
- 1. C · 把具有相同值的行放入同一组,从而按组计算聚合
- 2. C · 在设计数据库时为实体、实体的属性及其联系建模
- 3. C · ORDER BY
- 4. D · 同时出现在两个结果中的行
- 5. C · 不返回任何行,因为比较结果是未知
- 6. D · 用两个别名把 employees 表与它自身连接
- 7. D · X 是超键
- 8. D · 其效果等价于这些事务的某种串行执行
完整分步解答:请在 examproblems.com 上练习本主题。