数据库与 SQL练习卷(附答案)

免费可打印的数据库与 SQL练习卷:8 道题,从简单到考试水平,附答案。可打印或另存为 PDF。

教师请注意: 可免费打印、复印并在课堂上使用。每份新练习题都有新的数值和独立的答案。欢迎在课程页面添加指向 ExamProblems 的链接。

姓名: ____________________   日期: ____________

1.简单

GROUP BY 在查询中起什么作用?

  1. A按字母顺序对结果行排序
  2. B按公共列连接两个表
  3. C把具有相同值的行放入同一组,从而按组计算聚合
  4. D删除含有 NULL 值的行
2.简单

实体-联系(ER)图用于什么?

  1. A列出数据库的用户
  2. B测量数据库性能
  3. C在设计数据库时为实体、实体的属性及其联系建模
  4. D显示查询是如何执行的
3.简单

哪个关键字用于对查询结果排序?

  1. ASORT
  2. BARRANGE
  3. CORDER BY
  4. DGROUP BY
4.中等

在两个 SELECT 查询之间使用 INTERSECT 时返回什么?

  1. A在第一个结果中但不在第二个中的行
  2. B两个结果中的所有行
  3. C两个结果的笛卡尔积
  4. D同时出现在两个结果中的行
5.中等

一个表中有些行的 col 为 NULL。WHERE col = NULL 返回哪些行?

  1. A只返回 col 为 NULL 的行,与 IS NULL 相同
  2. B返回表中的所有行
  3. C不返回任何行,因为比较结果是未知
  4. D在每种数据库中都报错
6.中等

employees 表有一列 manager_id,引用另一名员工。如何在每名员工旁边列出其经理的姓名?

  1. A在磁盘上创建该表的第二个副本
  2. B只使用 GROUP BY manager_id
  3. C使用 UNION ALL 和 WHERE 过滤把该表与自身合并
  4. D用两个别名把 employees 表与它自身连接
7.困难

Boyce–Codd 范式(BCNF)要求对于每个非平凡函数依赖 X → Y:

  1. AX 包含 NULL
  2. BY 是原子的
  3. CY 是主键
  4. DX 是超键
8.困难

并发事务的调度在什么情况下被称为可串行化的?

  1. A任何事务都从不读取数据
  2. B事务只在一个 CPU 上运行
  3. C每个事务都被分配一个序列号
  4. D其效果等价于这些事务的某种串行执行

答案

  1. 1. C · 把具有相同值的行放入同一组,从而按组计算聚合
  2. 2. C · 在设计数据库时为实体、实体的属性及其联系建模
  3. 3. C · ORDER BY
  4. 4. D · 同时出现在两个结果中的行
  5. 5. C · 不返回任何行,因为比较结果是未知
  6. 6. D · 用两个别名把 employees 表与它自身连接
  7. 7. D · X 是超键
  8. 8. D · 其效果等价于这些事务的某种串行执行

完整分步解答:请在 examproblems.com 上练习本主题。