売上データの集計や会員情報の抽出など、SQLを書く場面はエンジニア以外の仕事にもあります。生成AIやBigQueryのGeminiのように、自然言語からSQLを生成する仕組みが増えました。下書きを作らせる頼み方と、実行前の確認点を整理します。

頼むときに伝えたい4つの情報
- 対象のテーブル名と主な列名(列の意味も添える)
- 欲しい結果の形(対象期間、並び順、上位何件か)
- 使っているデータベースの種類(MySQL、PostgreSQL、BigQueryなど)
- 除外したい条件(削除済みのデータやテストデータなど)
頼み方の例
たとえば、次のように頼みます。
テーブル名:orders(列:order_date、customer_id、amount)。 2026年10月の注文について、顧客ごとの合計金額を、 合計の大きい順に上位20件まで抽出するSQLを、 BigQuery用に作ってください。
条件を数字で具体的に書くほど、生成されるSQLのぶれは減ります。逆に「いい感じに集計して」のような頼み方では、意図と違う条件になりがちです。
一度で完成形を狙わず、まず抽出だけを頼み、結果を見てから並び替えや集計を追加していく進め方も有効です。生成されたSQLの意味が分からない部分があれば、「このSQLを日本語で説明して」と頼むと、行ごとの解説も作ってもらえます。読めないSQLは実行しない、という線引きが事故を防ぎます。
実行前に確認したいこと
- テーブル名と列名が、実際のデータベースに存在するか
- WHERE句の条件が漏れていないか(期間や対象の絞り込み)
- UPDATE文やDELETE文が紛れていないか。最初はSELECT文で件数だけを確認する
- 本番のデータベースでいきなり実行せず、可能なら検証用の環境で試す
実行した結果の件数や合計が想定と大きく違う場合は、条件の解釈が意図とずれているサインです。そのまま使わず、どの条件で絞ったかをAIに説明させてから直すと、原因にたどり着きやすくなります。
公式ドキュメントで確認できること
Google Cloudの公式ドキュメントでは、BigQueryのGeminiが、自然言語の指示からSQLを生成し、既存クエリの説明や修正もできると案内されています。また、Gemini for Google Cloudについては、許可なくプロンプトや回答をモデルのトレーニングに使用しないと説明されています。とはいえ、顧客情報のような機密データをプロンプトにそのまま貼るのは避け、列名やデータの構造だけを伝えるのが安全です。
あわせて読みたい
参照した公式資料
- Google Cloud ドキュメント「Gemini を使用してクエリを作成する」(BigQuery) https://cloud.google.com/bigquery/docs/write-sql-gemini?hl=ja (2026年11月2日確認)
- Google Cloud ドキュメント「Gemini for Google Cloud におけるデータ ガバナンス」 https://cloud.google.com/gemini/docs/discover/data-governance?hl=ja (2026年11月2日確認)
この記事はアマガジェ編集部(あまと)が作成しました。事実は各公式情報で確認し、原稿作成の一部に生成AIを活用しています。