はじめに
ある図書館のデータベース管理者が、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)のスキルは、リレーショナルデータベースを扱う上で不可欠であり、関連する複数のテーブルからデータを抽出する際に頻繁に使用されます。



