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

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

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

姓名: ____________________   日期: ____________

1.简单

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

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

在 SQL 中 NULL 表示什么?

  1. A缺失或未知的值
  2. B数值列中的数字零
  3. C布尔值 false
  4. D空字符串
3.简单

CREATE、ALTER 和 DROP 等语句属于 SQL 的哪一部分?

  1. A数据操纵语言(DML)
  2. B事务控制语言(TCL)
  3. C数据控制语言(DCL)
  4. D数据定义语言(DDL)
4.中等

第二范式(2NF)消除了:

  1. A非键列之间通过另一个非键列形成的传递依赖
  2. B所有 NULL 值
  3. C外键
  4. D非键列对复合键一部分的部分依赖
5.中等

EXCEPT(在 Oracle 中称为 MINUS)返回什么?

  1. A两个查询中都出现的行
  2. B两个查询的所有行,去除重复
  3. C第二个查询中不出现在第一个查询中的行
  4. D第一个查询中不出现在第二个查询中的行
6.中等

哪条语句删除表中的所有行、保留其结构,并且不能带 WHERE 子句?

  1. ADROP TABLE
  2. BTRUNCATE TABLE
  3. CALTER TABLE
  4. D带 WHERE 子句的 DELETE FROM
7.困难

对于两个没有可用索引的大表之间的等值连接,优化器通常选择哪种连接算法?

  1. A带索引查找的嵌套循环连接
  2. B主键上的位图连接
  3. C交叉连接
  4. D哈希连接
8.困难

对于一个查询,什么是覆盖索引?

  1. A只建在主键上的索引
  2. B每晚重建一次的索引
  3. C包含查询所需全部列的索引,因此不必读取表本身
  4. D覆盖每个表每一列的索引

答案

  1. 1. D · price 在 10 到 20 之间的行,包括 10 和 20
  2. 2. A · 缺失或未知的值
  3. 3. D · 数据定义语言(DDL)
  4. 4. D · 非键列对复合键一部分的部分依赖
  5. 5. D · 第一个查询中不出现在第二个查询中的行
  6. 6. B · TRUNCATE TABLE
  7. 7. D · 哈希连接
  8. 8. C · 包含查询所需全部列的索引,因此不必读取表本身

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