AIは SQL を書くのが得意。だからこそ確かめる
生成AIに「取引先ごとの未入金合計を出す SQL を書いて」と頼むと、第4章の GROUP BY のような SQL をすぐに書いてくれます。知らない SQL を「この SQL は何をしていますか」と説明してもらうのも便利です。
ただし、AIはもっともらしい SQL を、確かめないまま返すことがあります。使う前に、次の5つを確認してください。
- 表や列の名前は本物か:AIは実在しない列名を推測で作ることがあります。頼むときに、実際のテーブル名と列名(第2章の表の形)を一緒に渡します。
- まず検証環境で、見るだけの SQL から:本番環境でいきなり実行しません(第6章)。
- 書き換える SQL は、WHERE と件数を確認:UPDATE・DELETE が出てきたら、同じ条件の SELECT で対象件数を先に見ます(第4章)。
- 本物のデータを貼り付けない:顧客名や個人情報をそのままAIに渡さず、列の名前と、架空の例だけを渡します。会社のルールも確認します。
- 結果の数字を別の方法で検算:合計が合っているか、1社分だけ手で足してみるなど、小さく確かめます。
頼み方の例
次の2つのテーブルがあります。
- customers(id, name, region)
- invoices(invoice_no, customer_id, issued_on, amount, status)
status には '入金済' か '未入金' が入ります。
取引先ごとに、未入金の請求の合計金額を、金額の大きい順に出す
SELECT 文を書いてください。データを書き換える SQL は使わないでください。
各行が何をしているかも、日本語で説明してください。テーブルの形を渡す、書き換えを禁じる、説明を求める。この3つを入れるだけで、AIの答えはずっと確かめやすくなります。説明を読んで、自分でも意味が分かるかを確認してから使いましょう。
この章のポイント
- AIにはテーブルと列の名前を渡し、書き換えを禁じ、説明も求める
- 本番でいきなり実行しない。書き換える前に対象件数を見る
- 本物のデータは渡さない。結果は小さく検算する