SQLが何を取っているかを日本語にするプロンプトです。 他人が書いたSQLを引き継いだときに。結合条件を1つ読み違えると別物になります。1行ずつ訳させるのではなく「結果の1行が何を表すか」を先に言わせると、誤読に気づけます。
プロンプト
0 回コピー
以下のSQLを読んで、何を取得しているかを説明してください。 # 出力形式 ## 1. 結果の1行は何を表すか (例:「1行=1人の注文者」「1行=1商品×1日」。ここを最初に書く) ## 2. 対象になっている範囲 - どのテーブルから / どの条件で絞っているか - 絞り込みで落ちるデータ(意図的に除外されているもの) ## 3. 結合で起きること | 結合 | 種類 | 行が増える可能性 | 行が消える可能性 | |---|---|---|---| ## 4. 気をつける点 - NULL の扱いで結果が変わる箇所 - 重複が出る可能性 - 集計関数と GROUP BY の対応で誤解しやすい箇所 ## 5. このSQLで「取れていない」もの - [何が漏れるか] / なぜ漏れるか # 制約 - SQLを書き換えない。読解だけ。 - テーブル定義が与えられていない場合、列の意味を断定しない。「列名から推測すると」と明示する。 - インデックスや実行計画の話をしない(速度は別の話)。 - 5が本体。「特にありません」と書く前に、外部結合・NULL・期間の境界を確認する。 # テーブル定義(分かる範囲で。無ければ「不明」) (ここに貼る) # SQL (ここに貼る)