数据库与 SQL练习卷(附答案)
免费可打印的数据库与 SQL练习卷:8 道题,从简单到考试水平,附答案。可打印或另存为 PDF。
教师请注意: 可免费打印、复印并在课堂上使用。每份新练习题都有新的数值和独立的答案。欢迎在课程页面添加指向 ExamProblems 的链接。
姓名: ____________________ 日期: ____________
1.简单
GROUP BY 在查询中起什么作用?
- A把具有相同值的行放入同一组,从而按组计算聚合
- B按字母顺序对结果行排序
- C按公共列连接两个表
- D删除含有 NULL 值的行
2.简单
WHERE price BETWEEN 10 AND 20 会选出哪些行?
- A只有 price 等于 10 或 20 的行
- Bprice 大于 10 且小于 20 的行,不包括 10 和 20
- Cprice 在 10 到 20 范围之外的行
- Dprice 在 10 到 20 之间的行,包括 10 和 20
3.简单
在 LIKE 模式中,通配符 % 代表什么?
- A任意零个或多个字符组成的序列
- B任意一个数字
- C字符串该位置上恰好一个字符
- D字符串的结尾
4.中等
哪个查询返回 customers 表中不同城市的数量?
- ASELECT DISTINCT COUNT(city) FROM customers
- BSELECT COUNT(DISTINCT city) FROM customers
- CSELECT SUM(DISTINCT city) FROM customers
- DSELECT COUNT(city) FROM customers GROUP BY city
5.中等
一个表在每一行订单上都存储了客户地址。只修改其中一行的地址而不修改其他行,这是哪种情况的例子?
- A幻读
- B删除异常
- C更新异常
- D插入异常
6.中等
ROLLBACK TO SAVEPOINT s1 的作用是什么?
- A结束事务并提交所有内容
- B删除该保存点以及此后更改过的所有表
- C撤销保存点 s1 之后所做的更改,事务保持打开
- D从头撤销整个事务
7.困难
EXPLAIN(或 PostgreSQL 中的 EXPLAIN ANALYZE)对一个查询显示什么?
- A优化器选择的执行计划,例如扫描方式和连接方法
- B仅以关系代数表示法改写的查询
- C查询中每个 SQL 关键字的含义
- D运行过该查询的用户列表
8.困难
一个报表数据库把客户姓名复制到 orders 表中以避免连接。这种反规范化的主要代价是什么?
- A数据库不能再使用索引
- B不能再使用主键
- C每当客户数据变化时,都必须保持冗余副本的一致
- D对 orders 表的查询变慢
答案
- 1. A · 把具有相同值的行放入同一组,从而按组计算聚合
- 2. D · price 在 10 到 20 之间的行,包括 10 和 20
- 3. A · 任意零个或多个字符组成的序列
- 4. B · SELECT COUNT(DISTINCT city) FROM customers
- 5. C · 更新异常
- 6. C · 撤销保存点 s1 之后所做的更改,事务保持打开
- 7. A · 优化器选择的执行计划,例如扫描方式和连接方法
- 8. C · 每当客户数据变化时,都必须保持冗余副本的一致
完整分步解答:请在 examproblems.com 上练习本主题。