Contents (目次)
SQLを実行するためのサンプルデータが必要
誰でも使えるサンプルデータ
SQLを勉強するのにまず必要になってくるのが、環境の準備とSQLで実際にデータを取得したりする際に使用するサンプルデータになります。勉強するために、良いサンプルデータが欲しい…など考えたことがある方はきっと多いのではないかと思います。
そこで、今回はChatGPTやGeminiを利用して簡単にSQLを勉強するためのサンプルデータを用意する方法や、練習問題、回答を準備する方法もお伝えしていきます!
サンプルデータの生成方法 by ChatGPT
以前までは、わざわざ自分でサンプルデータを作ったり、サンプルデータを提供するようなサイトを探す必要がありましたが、現在はChatGPTやGeminiに頼めばすぐにサンプルデータを生成してくれる時代になりました。
以下、私自身がSQLのサンプルデータを依頼するために使用したプロンプトとChatGPTによる返答になりますので参考にしてください。

SQLの練習用に3つの関連するサンプルデータを作成します。以下の3つのテーブルを用意します。
users: ユーザー情報を格納orders: 注文情報を格納products: 商品情報を格納
各テーブルは以下のような構造を持ち、各テーブルに1000行程度のデータを生成します。
users
user_id: ユーザーID(整数)username: ユーザー名(文字列)email: メールアドレス(文字列)created_at: 登録日時(日時)updated_at: 更新日時(日時)
….. 省略
もっと細かく条件を指定すれば、それに近しいサンプルデータも作成してくれるので、個人的にプログラミングを勉強するにはもの凄く役に立ちます。
SQLで何故エラーが出るんだろう…。と思った時も、そのコードをChatGPTにコピペすれば大体全て間違いを教えてくれた上に、こうすれば動くよ!といったコードまで書いてくれるので、それはもう助かります。
問題集と模範解答まで準備可能
データを準備してもらったら、それに続けて問題集と模範解答も準備してもらいましょう!これで、SQLの独自問題集の完成です。

作成した3つのCSVをもとに、SQL初級から上級の問題を、初級20問、中級20問、上級10問で作成しExcelファイルで抽出してください。また、その解答も作成して別のExcelファイルとして抽出してください。

作成した3つのCSVファイルを使用して、SQLの初級、中級、上級の問題を生成し、Excelファイルにまとめます。以下に、各レベルの問題の例を示します。
初級
- 全てのユーザーを表示するSQL文を書いてください。
- 商品のリストを取得するSQL文を書いてください。
- 注文のリストを取得するSQL文を書いてください。
- ユーザーのユーザー名とメールアドレスを取得するSQL文を書いてください。
- 商品名と価格を取得するSQL文を書いてください。
中級
- 特定のユーザーIDを持つユーザーの詳細を取得するSQL文を書いてください。
- 特定のカテゴリーの商品を取得するSQL文を書いてください。
….. 省略
サンプルデータは最低でも3つ
関連するデータを最低3つ用意する
SQLを勉強する際は、関連するデータを最低3つは用意することをおすすめしてます。何故かというと、SQLを勉強する上で必ず必要な知識となってくるのが「テーブルの結合」になり、2つのテーブル、2つ以上のテーブルを結合してデータを好きなように抽出する練習に必要だからです。
テーブルを結合するためには、それぞれKEYとなるデータが必要になるので、必ず最初の段階で「関連する3つのデータ」をChatGPTやGeminiに依頼して作成してもらいましょう!
もし、最初1つしか作ってない…。という方がいましたら、ChatGPTやGeminiにそのデータを提供して、「これに関連するサンプルデータを2つ作って」と依頼すれば作成可能かと思います。
おすすめは、ユーザー情報、商品情報、注文情報
私がSQLを動かすときに何を一番先に想像するかというと、、、

そう、検索BOXです。検索BOXは、超簡単に解釈してしまうと、私たちが入力したキーワードをもとにデータベースから検索結果を表示しています。つまり、SQLが裏側で動いていて入れたキーワードがSQL化されてGoogle様の壮大なデータベースから結果を表示してくれる。といった感じです。
ただし、Google様だと壮大すぎて少々分かりにくくなるので、私が次に想像するのが、、、

そうAmazonのようなマーケットプレイスです。Amazonのユーザー情報・商品情報・注文情報などは正しくSQLを練習するときに使いやすく、例題にしやすいのです!
問題:ユーザーAAAが、過去一年間で購入した商品を商品カテゴリー別に、合計金額が多い順で10個取得してください。など
その為、特にこだわりがなければ、ChatGPTやGeminiにデータを作成してもらう際に、ユーザー情報、商品情報、注文情報のサンプルデータを作成してもらうことをお勧めします。
関連記事
小売販売員からキャリアをスタートし日系&外資系大手企業と3度の転職を成功させ、超大手外資系IT企業でデジタルマーケティング関連職に従事。WEBコンサルティング会社を起業し、マーケットプレイスを中心とした業務代行とコンサルティング、業務効率化のソフトウェア販売を行っています。
保有資格:3級FP技能士、2種証券外務員、ITパスポート、GAIQ、Goole広告各種プロフェッショナル認定資格










SQLの練習をしたいので、3つの関連するサンプルデータを約1000行と10列程度でCSVの形式で作成をしてください。