书籍搜索挑战

MySQLMySQLBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

介绍

一家本地书店希望改进他们的库存管理系统。作为他们的数据库管理员,你需要帮助他们使用 MySQL 查询来查找特定的书籍。这个挑战将测试你在 MySQL 数据库中过滤和排序数据的能力。

这是一个挑战(Challenge),与实验(Lab)不同,你需要独立完成挑战任务,而不是按照实验的步骤学习。挑战通常有一点难度。如果你觉得困难,可以与 Labby 讨论或查看解决方案。根据历史数据,这是一个 初级 级别的挑战,通过率为 93%。获得了学习者 92% 的好评率。

查找技术类书籍

书店需要识别出过去两年(2022-2023)的所有技术类书籍,并按价格从高到低排序。这些信息将帮助他们为技术类书籍区域制定定价策略。

任务

  • 以 root 用户身份连接到 MySQL
  • 使用 bookstore 数据库
  • 编写一个查询:
    • 查找 2022-2023 年的所有技术类书籍
    • 按价格降序排列
    • 仅显示书名、价格和出版年份
  • 将结果保存到 ~/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 技能对于在实际数据库应用中进行数据分析和生成报告至关重要。有效地过滤和排序数据的能力使你能够从大型数据集中精确提取所需的信息。