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

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

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

姓名: ____________________   日期: ____________

1.简单

UNION 对两个 SELECT 查询的结果做什么?

  1. A按某个键把它们左右并排连接
  2. B只保留同时出现在两者中的行
  3. C只保留出现在第一个查询中而不在第二个查询中的行
  4. D把它们合并为一个结果并去除重复行
2.简单

哪条 SQL 语句向表中添加新行?

  1. AUPDATE
  2. BALTER
  3. CINSERT
  4. DSELECT
3.简单

什么是代理键?

  1. A只在视图中使用的键
  2. B没有业务含义的人工标识符,例如自增 id
  3. C由电子邮件地址等真实数据构成的键
  4. D引用另一个表的键
4.中等

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

  1. AALTER TABLE
  2. BDROP TABLE
  3. CTRUNCATE TABLE
  4. D带 WHERE 子句的 DELETE FROM
5.中等

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

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

在关系代数中,投影运算符(π)对应于:

  1. A对结果排序
  2. B选择哪些行满足给定条件
  3. C按键组合两个表
  4. D选择哪些列出现在结果中
7.困难

哪种隔离级别可以防止脏读,但仍允许不可重复读?

  1. A可串行化(Serializable)
  2. B读已提交(Read committed)
  3. C可重复读(Repeatable read)
  4. D读未提交(Read uncommitted)
8.困难

SELECT day, SUM(amount) OVER (ORDER BY day) FROM sales 计算的是什么?

  1. A每一行上所有金额的总和
  2. B每天的平均金额
  3. C按 day 排序的 amount 累计总和
  4. D每天一行,只有当天的总额

答案

  1. 1. D · 把它们合并为一个结果并去除重复行
  2. 2. C · INSERT
  3. 3. B · 没有业务含义的人工标识符,例如自增 id
  4. 4. C · TRUNCATE TABLE
  5. 5. B · 'unknown'
  6. 6. D · 选择哪些列出现在结果中
  7. 7. B · 读已提交(Read committed)
  8. 8. C · 按 day 排序的 amount 累计总和

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