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

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

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

姓名: ____________________   日期: ____________

1.简单

在 LIKE 模式中,通配符 % 代表什么?

  1. A任意一个数字
  2. B任意零个或多个字符组成的序列
  3. C字符串的结尾
  4. D字符串该位置上恰好一个字符
2.简单

如何把结果按工资从高到低排序?

  1. AGROUP BY salary DESC
  2. BORDER BY salary DESC
  3. CSORT salary DOWN
  4. DORDER BY salary ASC
3.简单

什么是代理键?

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

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

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

哪个查询返回 customers 表中不同城市的数量?

  1. ASELECT COUNT(DISTINCT city) FROM customers
  2. BSELECT SUM(DISTINCT city) FROM customers
  3. CSELECT DISTINCT COUNT(city) FROM customers
  4. DSELECT COUNT(city) FROM customers GROUP BY city
6.中等

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

  1. AB 的每个值都恰好对应 A 的一个值
  2. BA 的每个值都恰好对应 B 的一个值
  3. CA 是引用 B 的外键
  4. DA 和 B 都是主键
7.困难

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

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

两名值班医生各自检查对方是否仍在值班,然后两人同时下班签退。快照隔离在这里仍可能允许哪种异常?

  1. A同一事务内的不可重复读
  2. B脏写
  3. C脏读
  4. D写偏斜(write skew)

答案

  1. 1. B · 任意零个或多个字符组成的序列
  2. 2. B · ORDER BY salary DESC
  3. 3. D · 没有业务含义的人工标识符,例如自增 id
  4. 4. C · 用两个别名把 employees 表与它自身连接
  5. 5. A · SELECT COUNT(DISTINCT city) FROM customers
  6. 6. B · A 的每个值都恰好对应 B 的一个值
  7. 7. A · 成绩高于平均成绩的学生
  8. 8. D · 写偏斜(write skew)

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