← Claude逆引きレシピ集:やりたいことから引ける実践集
LESSON 11 / 15

SQL を書きたい:自然言語からクエリ生成

所要時間 6分 入門レベル

「データを抽出したいけど SQL が書けない」の悩みに、Claude が応えます。自然言語から SQL を生成 → 結果の解釈までのフローを案内。

このレシピで実現すること

  • 欲しいデータを自然言語で指示 → SQL 生成
  • 複雑な集計・JOIN クエリにも対応
  • 結果の解釈を Claude に依頼

1. テーブル定義の事前共有

以下が私の DB のテーブル定義です。これを踏まえて SQL を書いてください。

【テーブル】
- customers (id, name, email, created_at)
- orders (id, customer_id, total, ordered_at)
- products (id, name, price, category)
- order_items (order_id, product_id, quantity)

2. 自然言語でクエリ依頼

先月(2026年3月)の売上を、カテゴリ別・顧客別に集計するクエリを書いてください。

【出力条件】
- 売上上位10件のみ
- 売上額・件数の両方を表示

3. 結果の解釈依頼

上記クエリの実行結果(CSV添付)から、以下を抽出してください。

1. 売上構成のトップカテゴリ
2. 上位顧客の特徴(業種・金額帯)
3. 注目すべき外れ値
4. ビジネス的な示唆

業務での具体例

例1:マーケティング側の依頼

「先月のクーポン使用顧客の年代分布」を SQL で抽出 → Excel にエクスポート。データ分析チームに頼まず即時取得。

例2:経営側の依頼

「直近6ヶ月の月次解約率」を時系列で抽出 → グラフ化。役員会の前日に5分で対応。

例3:CS 側の依頼

「過去30日に問い合わせが3回以上ある顧客」をリスト化 → 優先対応リストに。

注意点

  • 本番DBで実行前に開発DBで検証
  • UPDATE/DELETE 系は二重確認
  • 個人情報を含むクエリは要権限確認
  • パフォーマンス(インデックス・実行計画)は別途確認

運用のコツ

  • テーブル定義を Project に常駐させる
  • よく使うクエリはテンプレ化
  • 結果の解釈もセットで依頼

応用:BI ツール連携

Looker Studio・Metabase 等の BI ツール上の SQL も、Claude に書かせて貼り付けで使える。 BI 専任エンジニアがいなくても、現場主導でダッシュボードを増やせる。

よくある質問

この記事に関連する質問と答えをまとめました。

Q.自然言語から SQL を生成する精度は?
A.
シンプルな SELECT・JOIN・GROUP BY なら90%以上の精度。複雑なサブクエリやウィンドウ関数も書けますが、必ず実行前にレビューが必要です。テーブル構造をプロンプトで伝えるのがコツ。
Q.生成された SQL をそのまま本番DBで実行していいですか?
A.
絶対にNGです。必ず開発・ステージング環境でテスト→結果検証→本番実行の3段階を経てください。特に UPDATE / DELETE は事故が起きると取り返しがつきません。