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

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

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

姓名: ____________________   日期: ____________

1.简单

哪个聚合函数用于统计行数?

  1. AAVG
  2. BSUM
  3. CCOUNT
  4. DMAX
2.简单

在 WHERE 子句中,哪个运算符用于简单的文本模式匹配?

  1. ACONTAINS
  2. BLIKE
  3. CMATCH
  4. DSIMILAR
3.简单

哪个子句在分组之前过滤行?

  1. AWHERE
  2. BHAVING
  3. CORDER BY
  4. DGROUP BY
4.中等

一个表中有些行的 col 为 NULL。WHERE col = NULL 返回哪些行?

  1. A在每种数据库中都报错
  2. B返回表中的所有行
  3. C只返回 col 为 NULL 的行,与 IS NULL 相同
  4. D不返回任何行,因为比较结果是未知
5.中等

SQL 中的视图(view)是:

  1. A一个行为类似虚拟表的已存储查询
  2. B数据库客户端中用于浏览各个表的界面
  3. C表在磁盘上的副本
  4. D一种索引类型
6.中等

LEFT JOIN 返回:

  1. A仅返回两个表中匹配的行
  2. B仅返回右表的所有行
  3. C左表的所有行以及右表中匹配的行,无匹配处填充 NULL
  4. D在两个表中都不匹配的行
7.困难

为什么在生产查询中使用 NATURAL JOIN 被认为有风险?

  1. A没有任何数据库支持它
  2. B它忽略主键和外键,只保留 NULL 行
  3. C它总是返回笛卡尔积
  4. D它在所有同名列上连接,因此新增一列可能悄无声息地改变结果
8.困难

表 employee(emp_id, dept_id, dept_name) 的键是 emp_id,且 dept_id → dept_name。哪种说法正确?

  1. A它满足 2NF 但不满足 3NF
  2. B它不满足 2NF
  3. C它不满足 1NF
  4. D它满足 BCNF,因此也满足 3NF

答案

  1. 1. C · COUNT
  2. 2. B · LIKE
  3. 3. A · WHERE
  4. 4. D · 不返回任何行,因为比较结果是未知
  5. 5. A · 一个行为类似虚拟表的已存储查询
  6. 6. C · 左表的所有行以及右表中匹配的行,无匹配处填充 NULL
  7. 7. D · 它在所有同名列上连接,因此新增一列可能悄无声息地改变结果
  8. 8. A · 它满足 2NF 但不满足 3NF

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