はじめに
ある地元の書店が、在庫管理システムの改善を検討しています。あなたはデータベース管理者として、MySQL クエリを使用して特定の書籍を見つけ出すサポートを行う必要があります。このチャレンジでは、MySQL データベースにおけるデータのフィルタリングとソートの能力が試されます。
技術書の検索
この書店では、技術書セクションの価格設定の判断材料にするため、過去 2 年間(2022 年〜2023 年)のすべての技術書を特定し、価格の高い順に並べる必要があります。
タスク
rootユーザーとして MySQL に接続するbookstoreデータベースを使用する- 以下の条件を満たすクエリを作成する:
- 2022 年から 2023 年のすべての技術書(Technical books)を検索する
- 価格(price)の降順(高い順)でソートする
- タイトル(title)、価格(price)、出版年(publication_year)のみを表示する
- 結果を
~/projectディレクトリ内のtechnical_books.txtという名前のファイルに保存する
要件
- すべての操作は
~/projectディレクトリ内で実行すること - クエリでは
WHERE句を使用して、ジャンル(genre)と出版年(publication_year)でフィルタリングすること - 結果は価格の降順(DESC)でソートされていること
- 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 |
+----------------------+-------+------------------+
まとめ
このチャレンジでは、複数の条件に基づいたフィルタリングを行う WHERE 句の使用や、結果を並べ替える ORDER BY 句の使用など、複数の SQL コンセプトを組み合わせる練習をしました。これらの基本的な SQL スキルは、実際のデータベースアプリケーションにおいてデータ分析やレポート作成を行うために不可欠です。データを効果的にフィルタリングおよびソートできる能力により、大規模なデータセットから必要な情報を正確に抽出することが可能になります。



