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

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

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

姓名: ____________________   日期: ____________

1.简单

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

  1. ASUM
  2. BAVG
  3. CMEDIAN
  4. DMEAN
2.简单

CROSS JOIN 返回什么?

  1. A只有第一个表的行
  2. B两个表中行的所有组合
  3. C只有不匹配的行
  4. D只有在共享键列上匹配的行
3.简单

在 PostgreSQL 和 MySQL 中,哪个子句只返回结果的前 10 行?

  1. AMAX 10
  2. BTOP ROWS 10
  3. CLIMIT 10
  4. DFIRST 10 ONLY
4.中等

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

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

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

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

在两个 SELECT 查询之间使用 INTERSECT 时返回什么?

  1. A两个结果中的所有行
  2. B同时出现在两个结果中的行
  3. C两个结果的笛卡尔积
  4. D在第一个结果中但不在第二个中的行
7.困难

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

  1. AUNKNOWN
  2. BNULL,因此该行总是被拒绝
  3. CTRUE
  4. DFALSE
8.困难

事务 T1 锁定了行 A 并等待行 B,而 T2 锁定了行 B 并等待行 A。典型的 DBMS 会怎么做?

  1. A让两个事务都等待,直到其中一个正常提交
  2. B同时提交两个事务
  3. C检测到死锁,并中止其中一个事务作为牺牲者
  4. D把两个事务合并为一个

答案

  1. 1. B · AVG
  2. 2. B · 两个表中行的所有组合
  3. 3. C · LIMIT 10
  4. 4. A · 允许用户 alice 读取 employees 表
  5. 5. B · SELECT COUNT(DISTINCT city) FROM customers
  6. 6. B · 同时出现在两个结果中的行
  7. 7. C · TRUE
  8. 8. C · 检测到死锁,并中止其中一个事务作为牺牲者

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