
【コピペOK】SQL作成をAIで自動化!ChatGPTで欲しいデータを抽出する手順
データ抽出のために毎回エンジニアに依頼していませんか?本記事では、ChatGPTを使ってSQLクエリを自動作成する方法を初心者向けに解説します。テーブル構造を渡すだけで、売上集計や顧客リスト抽出のSQLコードをコピペで生成可能。プログラミング知識ゼロでも社内データを自在に活用する手順を紹介します。
マーケティング施策の分析や営業リストの作成時、「欲しいデータがあるのに自力で抽出できない」と困っていませんか?毎回エンジニアに依頼すると順番待ちになり、必要なタイミングでデータが手に入らないことも多いでしょう。
この記事では、ChatGPTを活用してSQL作成をAIで自動化し、欲しいデータを瞬時に抽出する手順を解説します。プログラミング知識がゼロの非エンジニアでも、AIが生成したコードをコピペするだけで、社内のデータベースから自在に情報を引き出せるようになります。
この記事で分かること
- ChatGPTを使ってSQLを自動作成するメリット
- AIにSQLを生成させるための具体的な手順と準備
- 【コピペOK】業務ですぐに使えるプロンプト(指示文)の具体例
- AIを活用する際のセキュリティや注意点
AIを味方につけて、データ抽出のボトルネックを解消しましょう。
SQL作成をAIで自動化!ChatGPTを活用してデータ抽出を行うメリット
データ抽出に不可欠な「SQL(データベース言語)」の習得には通常数ヶ月の学習が必要ですが、ChatGPTを活用すればそのハードルを一気に下げることができます。
エンジニアの作業待ち時間を約80%削減
多くの企業では、事業部側(営業・マーケティングなど)がデータ抽出を必要とする際、エンジニアやデータアナリストに依頼書を提出します。しかし、開発業務で忙しいエンジニアの対応待ちになり、データが手元に届くまでに数日〜1週間かかることも珍しくありません。
AIでSQL作成を自動化すれば、これまで数日かかっていたリードタイムを数分に短縮でき、作業時間を約80%削減することも可能です。思い立った瞬間にデータ分析を始められるため、意思決定のスピードが劇的に向上します。
非エンジニアでも高度なデータ分析が可能に
「過去半年間で、3回以上購入履歴があるが、直近1ヶ月は購入していない顧客(休眠顧客)」など、複雑な条件でのデータ抽出には高度なSQLスキル(JOINやサブクエリなど)が求められます。
ChatGPTを利用すれば、「〇〇の条件に合う人を出して」と日本語(自然言語)で指示するだけで、AIが最適なSQLコードを記述してくれます。ノーコード・ローコードツールを導入する予算がなくても、月額約3,000円($20)のChatGPT Plus、あるいは無料版の範囲内でも十分に高度な抽出が可能です。
ポイント: SQL作成をAIに任せることで、非エンジニアでもエンジニアと同等のデータ抽出力が手に入り、業務スピードが圧倒的に向上します。
【準備編】ChatGPTにSQL作成を依頼するための基礎知識

ChatGPTに精度の高いSQLを作ってもらうためには、最低限の準備と基礎知識が必要です。
そもそもSQL(エスキューエル)とは?
SQLとは、リレーショナルデータベース(RDB)と呼ばれるデータの集まりを操作するための言語です。社内の顧客情報や売上データなどは、Excelのシートのような「テーブル(表)」の形式で保存されています。
このテーブルから「必要な行や列だけを抜き出す」「複数のテーブルをくっつける」といった操作を行うための命令文がSQLです。
必須アイテム「テーブル定義(スキーマ)」の用意
ChatGPTが正しいSQLを書くためには、「あなたの会社にどんなデータが、どんな名前で保存されているか」を知る必要があります。そのため、テーブル定義(スキーマ情報)を事前に準備しましょう。
テーブル定義とは、以下のような「カラム(列)の名前」と「データ型」のリストです。
- テーブル名:
users(顧客情報)
- user_id (数値):顧客ID
- name (文字列):氏名
- registration_date (日付):登録日
社内のエンジニアに「データ抽出用に、関連するテーブルの定義(スキーマ情報)だけ一覧でください」と一度だけ依頼してテキストでもらっておけば、あとは自力で何度でも使い回せます。
ポイント: AIはあなたの会社のデータベース構造を知りません。必ず「テーブル定義」を用意してAIに前提条件を共有しましょう。
【実践手順】コピペで完了!欲しいデータをChatGPTで抽出する3ステップ

それでは、実際にChatGPTを使ってSQLを作成する手順を解説します。
1. テーブル構造(スキーマ)をChatGPTに読み込ませる
まずは、準備したテーブル定義をChatGPTに渡し、「あなたは優秀なデータアナリストです。以下のテーブル定義に基づいてSQLを作成してください」と役割を与えます。これにより、AIの回答精度が格段に高まります。
2. 抽出条件を自然言語(日本語)で指示する
次に、「誰の」「いつの」「どんなデータ」が欲しいのかを明確に伝えます。
例えば、「2025年1月以降に登録した顧客のうち、購入金額の合計が5万円以上の顧客のIDと名前を抽出して」といった具合です。抽出結果をどう並び替えたいか(金額の多い順など)も指定すると完璧です。
3. 出力されたSQLコードをツールにコピペして実行する
ChatGPTがSQLコード(例: SELECT user_id, name FROM...)を出力したら、右上にある「Copy code」ボタンをクリックします。
あとは社内のデータベース管理ツール(BigQuery、Redash、Metabase、MySQL Workbenchなど)のクエリ入力画面にペーストして実行ボタンを押すだけです。
ポイント: 「テーブル定義を渡す」「日本語で条件を指定する」「コピペして実行する」の3ステップだけで、プログラミング不要のデータ抽出が完了します。
【コピペOK】業務ですぐ使える!ChatGPTのSQL生成プロンプト例
ここでは、そのままコピペして使える実践的なプロンプト(指示文)のテンプレートを紹介します。
ユースケース1:月別・商品別の売上集計
マーケティングや営業の会議でよく求められる「月ごとの売上推移」を出したい場合のプロンプトです。
```text
# 指示
あなたは優秀なデータアナリストです。
以下の【テーブル定義】に基づいて、指定した【抽出条件】を満たすデータ取得用のSQL(PostgreSQL用)を作成してください。
出力はSQLコードのみとし、解説は不要です。
# テーブル定義
【orders(注文テーブル)】
- order_id (INT) : 注文ID
- order_date (DATE) : 注文日
- product_id (INT) : 商品ID
- amount (INT) : 売上金額
【products(商品テーブル)】
- product_id (INT) : 商品ID
- product_name (VARCHAR) : 商品名
- category (VARCHAR) : カテゴリ名
# 抽出条件
- 2025年の1年間のデータを対象とする
- 「年月」「カテゴリ名」「商品名」「売上金額の合計」を抽出する
- 売上金額の合計が多い順(降順)に並び替える
```
ユースケース2:特定の条件に合致する休眠顧客リストの抽出
メルマガ配信や架電営業のためのリストアップを行いたい場合のプロンプトです。
```text
# 指示
以下の【テーブル定義】を用いて、【抽出条件】に合致するターゲットリストを抽出するSQLを作成してください。
# テーブル定義
【users(顧客テーブル)】
- user_id (INT) : 顧客ID
- email (VARCHAR) : メールアドレス
- last_login_date (DATE) : 最終ログイン日
【purchases(購買履歴テーブル)】
- purchase_id (INT) : 購買ID
- user_id (INT) : 顧客ID
- purchase_date (DATE) : 購買日
# 抽出条件
- 過去に1回以上購買履歴がある顧客
- ただし、最終ログイン日が現在から「90日以上前」の顧客に絞る
- 抽出するカラムは、user_id と email
- user_idの昇順で並び替える
```
ポイント: プロンプトを「指示」「テーブル定義」「抽出条件」のブロックに分けることで、ChatGPTが誤解なく正確なSQLを生成してくれます。
AIでSQLを自動作成する際の注意点・セキュリティ対策
非常に便利なAIによるSQL生成ですが、ビジネスで利用する上ではいくつか注意すべき点があります。
実データ(個人情報・機密情報)は絶対に入力しない
ChatGPTに渡すのは、あくまで「テーブルの枠組み(カラム名やデータ型)」だけにしてください。
顧客の実際の名前、メールアドレス、具体的な売上金額などの実データは絶対に入力してはいけません。 無料版のAIモデルなどは入力データを学習に利用する可能性があるため、情報漏洩のリスクにつながります。テーブル名やカラム名が社外秘である場合は、table_A や column_1 のようにダミーの名前に置き換えて指示を出すのが安全です。
複雑な抽出(JOINなど)は一度に求めず分割する
3つ以上のテーブルを結合(JOIN)したり、複雑な計算を伴うSQLを一度のプロンプトで依頼すると、AIでも構文エラーを起こしたり、意図しないデータ抽出になったりすることがあります。
エラーが出た場合は、「このエラーメッセージが出ました。修正してください:[エラー内容]」とそのままChatGPTに返すか、「まずはテーブルAとBの結合だけを行い、その後に条件Cを絞り込む」のように、段階を踏んで指示を出すと成功率が高まります。
ポイント: 機密情報の取り扱いには細心の注意を払い、複雑なクエリはAIと対話しながら少しずつ完成させていくのが確実なアプローチです。
まとめ
この記事では、ChatGPTを活用してSQL作成を自動化し、エンジニアに頼らず欲しいデータを抽出する手順を解説しました。
- リードタイムの劇的削減: エンジニアへの依頼待ちをなくし、数日かかっていたデータ抽出を数分に短縮。
- プログラミング知識不要: テーブル定義を用意し、日本語で条件を指示するだけでSQLコードが完成。
- コピペで即実行: 出力されたコードをデータベース管理ツールに貼り付けるだけで結果が得られる。
- セキュリティの徹底: プロンプトにはテーブルの構造のみを記述し、実データ(個人情報など)は絶対に入力しない。
まずは社内のエンジニアに「よく使うテーブルの定義一覧」をもらうところから始めてみましょう。AIをデータ抽出の優秀なアシスタントとして活用することで、あなたの業務効率と分析力は飛躍的に向上するはずです。
よくある質問(FAQ)
ChatGPTで作ったSQLがエラーになった時の対処法は?
データベースの管理ツールでエラーが出た場合、そのエラーメッセージをそのままコピーしてChatGPTに「以下のエラーが出ました。修正したSQLを出力してください:[エラーメッセージ]」と送信してください。多くの場合、AIがデータベースの独自仕様(方言)や構文ミスを自己修正して正しいコードを再提示してくれます。
無料版のChatGPTでもSQLの自動作成は可能ですか?
はい、無料版のChatGPTでも十分な精度のSQLを作成可能です。ただし、無料版は利用回数に制限がある場合や、極めて複雑な処理において最新のモデル(ChatGPT Plusなどで使えるGPT-4o等)と比較して論理エラーを起こす確率がやや高くなります。日常的な抽出業務であれば無料版でも問題ありません。
SQL自動作成AIツールはChatGPT以外にもありますか?
はい、最近では開発・データベース環境自体にAIが組み込まれているケースが増えています。例えば、「GitHub Copilot」や、データベース管理ツールの「Metabase」「Snowflake」などにも、自然言語からSQLを自動生成する機能が標準搭載され始めています。環境が許せば、これら専用ツールの導入も検討してみてください。
AIにテーブル構造を教えるのはセキュリティ上問題ありませんか?
テーブル構造(カラム名やデータ型)自体に機密性が含まれない一般的な名称(user_id, priceなど)であれば、通常は問題ありません。ただし、カラム名自体が新プロジェクトの機密情報を含んでいる場合などは注意が必要です。企業のポリシーによってはChatGPTへの業務情報の入力自体を禁止している場合もあるため、事前に社内のセキュリティガイドラインを確認してください。