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

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

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

姓名: ____________________   日期: ____________

1.简单

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

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

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

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

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

  1. ADIFFERENT
  2. BDISTINCT
  3. CUNIQUE
  4. DSINGLE
4.中等

employees 表有一列 manager_id,引用另一名员工。如何在每名员工旁边列出其经理的姓名?

  1. A在磁盘上创建该表的第二个副本
  2. B使用 UNION ALL 和 WHERE 过滤把该表与自身合并
  3. C只使用 GROUP BY manager_id
  4. D用两个别名把 employees 表与它自身连接
5.中等

ROLLBACK TO SAVEPOINT s1 的作用是什么?

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

为什么一个表只能有一个聚集索引?

  1. A聚集索引占用太多内存
  2. B聚集索引只能建在主键上
  3. C行在物理上只能按一种顺序存储
  4. DSQL 标准禁止一个表上有多个索引
7.困难

两阶段锁(2PL)能保证:

  1. A事务永远不需要等待
  2. B冲突可串行化的调度
  3. C不需要任何锁
  4. D永远不会发生死锁
8.困难

下列查询返回什么:SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students)?

  1. A所有学生的平均成绩
  2. B成绩高于平均成绩的学生
  3. C仅成绩最高的学生
  4. D报错,因为 WHERE 中不允许使用子查询

答案

  1. 1. B · 数据定义语言(DDL)
  2. 2. C · price 在 10 到 20 之间的行,包括 10 和 20
  3. 3. B · DISTINCT
  4. 4. D · 用两个别名把 employees 表与它自身连接
  5. 5. C · 撤销保存点 s1 之后所做的更改,事务保持打开
  6. 6. C · 行在物理上只能按一种顺序存储
  7. 7. B · 冲突可串行化的调度
  8. 8. B · 成绩高于平均成绩的学生

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