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

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

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

姓名: ____________________   日期: ____________

1.简单

什么是候选键?

  1. A能唯一标识每一行的最小列集合
  2. B等待成为外键的列
  3. C任何含有 NULL 值的列
  4. D两个表共有的、用于关联其行的一组列
2.简单

哪个关键字在查询中给列或表一个临时的别名?

  1. AAS
  2. BNAME
  3. CRENAME
  4. DALIAS
3.简单

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

  1. ADELETE
  2. BTRUNCATE COLUMN
  3. CREMOVE
  4. DDROP
4.中等

哪个查询列出从未下过订单的客户?

  1. ASELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id = NULL
  2. BSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NOT NULL
  3. CSELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  4. DSELECT c.name FROM customers c INNER JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
5.中等

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

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

关于 HAVING,下列哪项说法正确?

  1. A它用于对结果排序
  2. B它在 SELECT 语句中必须写在 WHERE 之前
  3. C它不能与 GROUP BY 一起使用
  4. D它可以使用聚合函数来过滤分组
7.困难

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

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

x 为 NULL,y = 1。条件 (x > 5 OR y = 1) 的值是什么?

  1. AUNKNOWN
  2. BTRUE
  3. CNULL,因此该行总是被拒绝
  4. DFALSE

答案

  1. 1. A · 能唯一标识每一行的最小列集合
  2. 2. A · AS
  3. 3. A · DELETE
  4. 4. C · SELECT c.name FROM customers c LEFT JOIN orders o ON o.customer_id = c.id WHERE o.id IS NULL
  5. 5. C · 允许用户 alice 读取 employees 表
  6. 6. D · 它可以使用聚合函数来过滤分组
  7. 7. D · 它在所有同名列上连接,因此新增一列可能悄无声息地改变结果
  8. 8. B · TRUE

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