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

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

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

姓名: ____________________   日期: ____________

1.简单

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

  1. ADROP
  2. BTRUNCATE COLUMN
  3. CREMOVE
  4. DDELETE
2.简单

在事务中,ROLLBACK 的作用是什么?

  1. A删除表
  2. B重复上一条语句
  3. C撤销自事务开始以来所做的更改
  4. D将事务的所有更改永久保存到磁盘
3.简单

哪个聚合函数返回数值列的平均值?

  1. AMEDIAN
  2. BAVG
  3. CSUM
  4. DMEAN
4.中等

orders 表有 5 行,每行都引用一个已存在的客户。customers 表有 3 行。在 customer_id 上做 INNER JOIN 返回多少行?

  1. A8
  2. B15
  3. C5
  4. D3
5.中等

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

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

GRANT SELECT ON employees TO alice 的作用是什么?

  1. A让 alice 成为数据库的所有者
  2. B允许 alice 更新和删除 employees 表中的行
  3. C把 employees 表复制给 alice
  4. D允许用户 alice 读取 employees 表
7.困难

为什么带有 WHERE YEAR(order_date) = 2025 的查询可能不会使用 order_date 上的索引?

  1. AYEAR 不是合法的 SQL
  2. Border_date 上的索引只用于 ORDER BY 子句,绝不用于 WHERE
  3. C对列应用函数会妨碍简单的索引范围查找
  4. D索引永远不能用于日期
8.困难

哪个窗口函数在每个分区内为行分配 1、2、3……且不出现并列?

  1. ACOUNT()
  2. BRANK()
  3. CROW_NUMBER()
  4. DDENSE_RANK()

答案

  1. 1. D · DELETE
  2. 2. C · 撤销自事务开始以来所做的更改
  3. 3. B · AVG
  4. 4. C · 5
  5. 5. B · 更新异常
  6. 6. D · 允许用户 alice 读取 employees 表
  7. 7. C · 对列应用函数会妨碍简单的索引范围查找
  8. 8. C · ROW_NUMBER()

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