著者と書籍情報の統合チャレンジ

MySQLBeginner
オンラインで実践に進む

はじめに

ある図書館のデータベース管理者が、2 つのテーブルの情報を組み合わせたレポートの作成に困っています。この図書館では著者と書籍を別々のテーブルで管理しており、書籍のタイトルと著者名を一つのビューで並べて表示するクエリを必要としています。

著者と書籍の統合レポート作成

タスク

  • root ユーザーとして MySQL に接続する
  • library データベースを使用する
  • 両方のテーブルのデータを組み合わせて、以下の項目を表示するクエリを記述する:
    • 書籍のタイトル(Book title)
    • 著者名(Author name)
    • 出版年(Publication year)
  • 結果は出版年の新しい順(降順)に並べる
  • 実行結果を ~/project ディレクトリ内の author_books.txt という名前のファイルに保存する

要件

  • すべての操作は ~/project ディレクトリ内で行うこと
  • クエリでは authors テーブルと books テーブルを結合(JOIN)すること
  • すべての書籍とそれに対応する著者が含まれていること
  • 結果は、タイトル(title)、著者名(name)、出版年(publication_year)の順で、正確に 3 列表示すること
  • 出版年は数値として表示すること
  • 出力結果は ~/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)のスキルは、リレーショナルデータベースを扱う上で不可欠であり、関連する複数のテーブルからデータを抽出する際に頻繁に使用されます。

✨ 解答を確認して練習