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

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

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

姓名: ____________________   日期: ____________

1.简单

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

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

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

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

在 LIKE 模式中,通配符 % 代表什么?

  1. A任意零个或多个字符组成的序列
  2. B任意一个数字
  3. C字符串该位置上恰好一个字符
  4. D字符串的结尾
4.中等

哪个查询返回 customers 表中不同城市的数量?

  1. ASELECT DISTINCT COUNT(city) FROM customers
  2. BSELECT COUNT(DISTINCT city) FROM customers
  3. CSELECT SUM(DISTINCT city) FROM customers
  4. DSELECT COUNT(city) FROM customers GROUP BY city
5.中等

一个表在每一行订单上都存储了客户地址。只修改其中一行的地址而不修改其他行,这是哪种情况的例子?

  1. A幻读
  2. B删除异常
  3. C更新异常
  4. D插入异常
6.中等

ROLLBACK TO SAVEPOINT s1 的作用是什么?

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

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

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

一个报表数据库把客户姓名复制到 orders 表中以避免连接。这种反规范化的主要代价是什么?

  1. A数据库不能再使用索引
  2. B不能再使用主键
  3. C每当客户数据变化时,都必须保持冗余副本的一致
  4. D对 orders 表的查询变慢

答案

  1. 1. A · 把具有相同值的行放入同一组,从而按组计算聚合
  2. 2. D · price 在 10 到 20 之间的行,包括 10 和 20
  3. 3. A · 任意零个或多个字符组成的序列
  4. 4. B · SELECT COUNT(DISTINCT city) FROM customers
  5. 5. C · 更新异常
  6. 6. C · 撤销保存点 s1 之后所做的更改,事务保持打开
  7. 7. A · 优化器选择的执行计划,例如扫描方式和连接方法
  8. 8. C · 每当客户数据变化时,都必须保持冗余副本的一致

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