Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save tamanishi/cb26e4c65373e1339b0f7ebfc88d4551 to your computer and use it in GitHub Desktop.

Select an option

Save tamanishi/cb26e4c65373e1339b0f7ebfc88d4551 to your computer and use it in GitHub Desktop.
LLM向けSQL生成プロンプト改善
# 業務仕様
(ここに現在の仕様を箇条書きで整理する。追加・変更があればここを更新する)
1. 過去3ヶ月以内に注文があったユーザーを抽出する
2. プレミアム会員の割引率を適用する
3. 【新規追加】退会済みのユーザーは除外する
# クエリ実装における技術的前提・制約
1. パフォーマンス制約:
- (前回の内容:インデックス意識、意味のないDISTINCT禁止など)
2. 変更・拡張への耐性(可読性重視):
- 今後の仕様変更に伴うロジックの追加・修正が容易になるよう、クエリを構造化してください。
- 具体的には、`WITH` 句(CTE)を活用し、「①基礎データの抽出・絞り込み」「②ビジネスロジックの適用や集計」「③最終出力」のように論理的なステップごとにCTEを切り分けてください。
- `FROM` や `JOIN` の中に直接複雑なサブクエリをネストすることは禁止します。
- 将来的に条件が増減しそうな「ステータス判定」や「フィルタ条件」は、特定のCTE内に集約し、クエリ全体に散らばらないようにしてください。
# 出力フォーマット
1. 今回の仕様を満たすための、CTE(WITH句)の構成(構造設計の意図)
2. 生成したSQLクエリ
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment