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

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

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

姓名: ____________________   日期: ____________

1.简单

哪个关键字在查询中给列或表一个临时的别名?

  1. ANAME
  2. BAS
  3. CRENAME
  4. DALIAS
2.简单

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

  1. AGROUP BY
  2. BSORT
  3. CARRANGE
  4. DORDER BY
3.简单

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

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

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

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

函数依赖 A → B 是什么意思?

  1. AB 的每个值都恰好对应 A 的一个值
  2. BA 是引用 B 的外键
  3. CA 和 B 都是主键
  4. DA 的每个值都恰好对应 B 的一个值
6.中等

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

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

如果 col 中所有值都是 NULL 且表有 10 行,SELECT COUNT(col) FROM t 的结果是什么?

  1. A报错
  2. BNULL
  3. C10
  4. D0
8.困难

两阶段锁(2PL)能保证:

  1. A不需要任何锁
  2. B冲突可串行化的调度
  3. C事务永远不需要等待
  4. D永远不会发生死锁

答案

  1. 1. B · AS
  2. 2. D · ORDER BY
  3. 3. B · 把具有相同值的行放入同一组,从而按组计算聚合
  4. 4. A · 用两个别名把 employees 表与它自身连接
  5. 5. D · A 的每个值都恰好对应 B 的一个值
  6. 6. C · 同时出现在两个结果中的行
  7. 7. D · 0
  8. 8. B · 冲突可串行化的调度

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