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

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

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

姓名: ____________________   日期: ____________

1.简单

WHERE price BETWEEN 10 AND 20 会选出哪些行?

  1. Aprice 在 10 到 20 范围之外的行
  2. Bprice 大于 10 且小于 20 的行,不包括 10 和 20
  3. C只有 price 等于 10 或 20 的行
  4. Dprice 在 10 到 20 之间的行,包括 10 和 20
2.简单

哪条语句用于从表中删除行?

  1. ADROP
  2. BREMOVE
  3. CTRUNCATE COLUMN
  4. DDELETE
3.简单

CROSS JOIN 返回什么?

  1. A只有第一个表的行
  2. B两个表中行的所有组合
  3. C只有不匹配的行
  4. D只有在共享键列上匹配的行
4.中等

ROLLBACK TO SAVEPOINT s1 的作用是什么?

  1. A结束事务并提交所有内容
  2. B从头撤销整个事务
  3. C撤销保存点 s1 之后所做的更改,事务保持打开
  4. D删除该保存点以及此后更改过的所有表
5.中等

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

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

为什么一个表只能有一个聚集索引?

  1. A聚集索引占用太多内存
  2. BSQL 标准禁止一个表上有多个索引
  3. C聚集索引只能建在主键上
  4. D行在物理上只能按一种顺序存储
7.困难

EXPLAIN(或 PostgreSQL 中的 EXPLAIN ANALYZE)对一个查询显示什么?

  1. A查询中每个 SQL 关键字的含义
  2. B运行过该查询的用户列表
  3. C优化器选择的执行计划,例如扫描方式和连接方法
  4. D仅以关系代数表示法改写的查询
8.困难

在 (last_name, first_name) 上有一个复合索引。哪个条件能最有效地利用它?

  1. AWHERE last_name = 'Jansen'
  2. BWHERE first_name = 'Eva'
  3. CWHERE UPPER(first_name) = 'EVA'
  4. DWHERE first_name LIKE '%a'

答案

  1. 1. D · price 在 10 到 20 之间的行,包括 10 和 20
  2. 2. D · DELETE
  3. 3. B · 两个表中行的所有组合
  4. 4. C · 撤销保存点 s1 之后所做的更改,事务保持打开
  5. 5. B · 不返回任何行,因为比较结果是未知
  6. 6. D · 行在物理上只能按一种顺序存储
  7. 7. C · 优化器选择的执行计划,例如扫描方式和连接方法
  8. 8. A · WHERE last_name = 'Jansen'

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