作者与书籍信息关联挑战

MySQLBeginner
立即练习

介绍

图书馆数据库管理员需要创建一份整合了两个数据表信息的报告。图书馆分别维护着作者信息表和书籍信息表,他们需要一个查询语句,能够在一个视图中同时显示书名及其对应的作者姓名。

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

创建作者 - 书籍整合报告

任务

  • root 用户身份连接到 MySQL
  • 切换到 library 数据库
  • 编写一个整合两张表数据的查询语句,要求显示:
    • 书籍标题(Book title)
    • 作者姓名(Author name)
    • 出版年份(Publication year)
  • 结果应按出版年份排序(最新的排在最前面)
  • 将查询结果保存到 ~/project 目录下的 author_books.txt 文件中

要求

  • 所有操作必须在 ~/project 目录下进行
  • 查询必须连接 authors 表和 books
  • 必须包含所有书籍及其对应的作者
  • 结果必须准确显示三列,顺序为:titlenamepublication_year
  • 出版年份必须以数字形式显示
  • 输出结果必须保存到 ~/project/author_books.txt 文件中

示例

编写正确的查询并保存结果后,你可以验证输出内容:

cat ~/project/author_books.txt
+------------------------+--------------+------------------+
| title                  | name         | publication_year |
+------------------------+--------------+------------------+
| Tech Trends            | Maria Garcia |             2023 |
| Digital Innovation     | Robert Chen  |             2022 |
| SQL Mastery            | Jane Smith   |             2021 |
| Database Design Basics | Jane Smith   |             2020 |
+------------------------+--------------+------------------+
✨ 查看解决方案并练习

总结

在这个挑战中,你练习了如何在 MySQL 中使用 INNER JOIN 编写跨表查询。所展示的技能包括利用关联字段连接数据表、从多个表中选择特定列以及对结果进行排序。这些基础的连接(JOIN)操作技能对于处理关系型数据库至关重要,在从多个相关联的表中提取数据时会频繁使用。