图书搜索挑战

MySQLBeginner
立即练习

介绍

一家本地书店正致力于改进其库存管理系统。作为他们的数据库管理员,你需要通过编写 MySQL 查询语句来协助他们查找特定的书籍。本次挑战将测试你在 MySQL 数据库中筛选和排序数据的能力。

这是一个「挑战」项目,它与「引导实验」不同,你需要尝试独立完成挑战任务,而不是按照实验步骤一步步学习。挑战通常具有一定的难度。如果你觉得困难,可以与 Labby 讨论或查看解决方案。历史数据显示,这是一个初学者级别的挑战,通过率为 93%。它在学习者中获得了 95% 的好评率。

查找技术书籍

书店需要找出过去两年(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 对结果进行排序。这些基础的 SQL 技能对于在现实世界的数据库应用中执行数据分析和生成报告至关重要。高效筛选和排序数据的能力让你能够从大型数据集中精准提取所需的信息。