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

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

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

姓名: ____________________   日期: ____________

1.简单

哪个 SQL 关键字用于去除结果中的重复行?

  1. AUNIQUE
  2. BDISTINCT
  3. CSINGLE
  4. DDIFFERENT
2.简单

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

  1. ASORT
  2. BORDER BY
  3. CARRANGE
  4. DGROUP BY
3.简单

列上的 UNIQUE 约束保证什么?

  1. A该列的值是排好序的
  2. B任何两行在该列中都没有相同的非 NULL 值
  3. C该列自动成为表的主键
  4. D该列在插入后不能被修改
4.中等

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

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

对于电话号码为 NULL 的客户,SELECT COALESCE(phone, 'unknown') FROM customers 返回什么?

  1. A空字符串
  2. BNULL
  3. C报错
  4. D'unknown'
6.中等

当 WHERE 子句没有匹配任何行时,SELECT SUM(amount) FROM orders 返回什么?

  1. A0
  2. B报错
  3. C空字符串
  4. DNULL
7.困难

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

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

给定 R(A, B, C, D) 上的函数依赖 A → B、B → C 和 C → D,闭包 A+ 是什么?

  1. A{A}
  2. B{A, B, C}
  3. C{A, B}
  4. D{A, B, C, D}

答案

  1. 1. B · DISTINCT
  2. 2. B · ORDER BY
  3. 3. B · 任何两行在该列中都没有相同的非 NULL 值
  4. 4. A · A 的每个值都恰好对应 B 的一个值
  5. 5. D · 'unknown'
  6. 6. D · NULL
  7. 7. B · 每当客户数据变化时,都必须保持冗余副本的一致
  8. 8. D · {A, B, C, D}

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