书籍搜索挑战

MySQLMySQLBeginner
立即练习

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

介绍

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) sql(("SQL")) -.-> sql/DataManipulationandQueryingGroup(["Data Manipulation and Querying"]) mysql(("MySQL")) -.-> mysql/DatabaseFunctionsandDataTypesGroup(["Database Functions and Data Types"]) sql(("SQL")) -.-> sql/AdvancedDataOperationsGroup(["Advanced Data Operations"]) mysql/BasicKeywordsandStatementsGroup -.-> mysql/use_database("Database Selection") mysql/BasicKeywordsandStatementsGroup -.-> mysql/select("Data Retrieval") sql/DataManipulationandQueryingGroup -.-> sql/where("WHERE clause") sql/DataManipulationandQueryingGroup -.-> sql/order_by("ORDER BY clause") mysql/DatabaseFunctionsandDataTypesGroup -.-> mysql/date("Date Type") sql/AdvancedDataOperationsGroup -.-> sql/date_time_functions("Date and Time functions") subgraph Lab Skills mysql/use_database -.-> lab-418297{{"书籍搜索挑战"}} mysql/select -.-> lab-418297{{"书籍搜索挑战"}} sql/where -.-> lab-418297{{"书籍搜索挑战"}} sql/order_by -.-> lab-418297{{"书籍搜索挑战"}} mysql/date -.-> lab-418297{{"书籍搜索挑战"}} sql/date_time_functions -.-> lab-418297{{"书籍搜索挑战"}} end

查找技术类书籍

书店需要识别出过去两年(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 技能对于在实际数据库应用中进行数据分析和生成报告至关重要。有效地过滤和排序数据的能力使你能够从大型数据集中精确提取所需的信息。