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

MySQLMySQLBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

図書館のデータベース管理者は、2つのテーブルの情報を統合したレポートを作成するための支援が必要です。図書館には著者とその著書に関する別々のテーブルがあり、単一のビューで著者名とともに書籍のタイトルを表示するクエリが必要です。


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/order_by("ORDER BY clause") mysql/DatabaseFunctionsandDataTypesGroup -.-> mysql/date("Date Type") sql/AdvancedDataOperationsGroup -.-> sql/join("JOIN operations") sql/AdvancedDataOperationsGroup -.-> sql/date_time_functions("Date and Time functions") subgraph Lab Skills mysql/use_database -.-> lab-418296{{"著者と書籍の情報チャレンジ"}} mysql/select -.-> lab-418296{{"著者と書籍の情報チャレンジ"}} sql/order_by -.-> lab-418296{{"著者と書籍の情報チャレンジ"}} mysql/date -.-> lab-418296{{"著者と書籍の情報チャレンジ"}} sql/join -.-> lab-418296{{"著者と書籍の情報チャレンジ"}} sql/date_time_functions -.-> lab-418296{{"著者と書籍の情報チャレンジ"}} end

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

タスク

  • root ユーザーとして MySQL に接続する
  • library データベースを使用する
  • 両方のテーブルのデータを統合して以下を表示するクエリを作成する:
    • 書籍のタイトル
    • 著者名
    • 出版年
  • 結果は出版年で降順(最新のものから)に並べる
  • 結果を ~/project ディレクトリに author_books.txt という名前のファイルに保存する

要件

  • すべての操作は ~/project ディレクトリで行う必要がある
  • クエリは authors テーブルと books テーブルを結合する必要がある
  • すべての書籍とそれに対応する著者を含める必要がある
  • 結果は正確に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 操作のスキルは、リレーショナルデータベースを操作する上で不可欠であり、複数の関連するテーブルからデータをクエリする際に頻繁に使用されます。