介绍
一家本地书店正在升级自己的库存管理系统。现在需要通过编写 MySQL 查询语句,帮助工作人员快速检索符合条件的书籍数据。本次任务重点考察的,正是在 MySQL 数据库中进行数据筛选与结果排序的实际能力。
查找技术书籍
书店希望筛选出过去两年,也就是 2022 至 2023 年间出版的所有技术类书籍,并按照价格从高到低进行排序。通过这种方式,技术类图书专区在制定定价策略和库存分析时,就能获得更清晰、直接的参考依据。
任务
- 使用
root用户连接到 MySQL - 使用
bookstore数据库 - 编写一条查询语句,要求:
- 筛选出 2022-2023 年出版的所有技术类书籍
- 按价格降序排序
- 只显示标题(title)、价格(price)和出版年份(publication_year)
- 将查询结果保存到
~/project目录下的technical_books.txt文件中
要求
- 所有操作都必须在
~/project目录下完成 - 查询必须通过
WHERE子句按类别和出版年份进行筛选 - 结果必须按价格从高到低排序
- 结果中只能包含 2022 年和 2023 年出版的书籍
- 输出内容必须准确包含指定字段,且顺序为:
title、price、publication_year - 最终输出必须保存为
~/project/technical_books.txt
示例
正确编写查询语句后,输出结果应与下面的示例基本一致:
cat ~/project/technical_books.txt
+----------------------+-------+------------------+
| title | price | publication_year |
+----------------------+-------+------------------+
| Data Design Patterns | 39.99 | 2022 |
| SQL for Beginners | 34.99 | 2023 |
+----------------------+-------+------------------+
总结
这次挑战主要训练的是几个常见 SQL 基础能力的组合使用:一方面,通过 WHERE 子句对类别和出版年份等多个条件进行筛选;另一方面,借助 ORDER BY 对查询结果完成排序。虽然这些属于 MySQL 查询中的基础语法,但在真实的数据库应用场景中,无论是数据分析、库存管理,还是报表生成,都会被频繁使用。只有熟练掌握数据筛选与排序,才能从大量数据中更高效、准确地获取所需信息。
