見出し画像

【ChatGPT】SQLクエリを作成してくれるプロンプト/GPT

ビジネスでのデータ活用を求められる時代。

企画やマーケティング職でもSQLを自然と扱える方がいいよねという記事も見かけます。

しかし、SQLなんて書けないよ、勉強するのも大変という方も多いはず。

今回、そんな方に向けてSQLクエリをChatGPTに作成してもらうためのプロンプトとGPTを作成しました!
気になる方はぜひ記事を最後まで読んでみてください。

ターゲット
ChatGPTでのSQLクエリの作成方法を知りたい方

この記事でわかること
ChatGPTでのSQLクエリの作成方法
SQL作成のためのプロンプト/GPT

推定読者

SQLとは?

SQL(Structured Query Language)はデータベース上でデータの制御を行う際に利用されるデータベース言語です(正しくはDBMS(データベース管理システム)を介してSQLで指示を出せます)。

人の感覚でいくと、英語圏の方に話す際に英語でないと伝わらないのと同じように、データベース上のデータを操作するためにはデータベース言語を使う必要があるといった感じです。

多くの企業ではデータはデータベース上に蓄積・管理されており、企画職やマーケティング職の方がこのSQLを覚えられると、自分自身で求めたい集計値やデータを参照できたりするため扱えると便利です。

SQLとは?

データベースを検索するSQLの基本構文

さて、さっそくSQLを作成してくれるプロンプトを紹介したいところですが、出てきたSQLを見てもどう読めばいいかわからないと使いづらいので
最も基本的なSQLの構文だけ触っておきたいと思います。

データの検索の際に使う最も基本的なSQL構文は以下となります。

SQL基礎構文

基本となるのは左にある

select [カラム名]
from [テーブル名]
limit [表示したい行数]

です。まずfromの部分で見たいテーブルの名前を指定します。
次にselectでそのテーブル内で検索したいカラム(列名)を指定して絞った後、limitで表示したい行数を指定するといった構文です。

SQLを作成するためのプロンプト

それではSQLに関して簡単に触れたので実施に使う際のプロンプトを紹介します。

#役割
あなたはデータエンジニアです
参照用のSQLの作成をアシストしてください

#インプット
[ここにテーブルを数行貼るorサンプルデータのcsvファイルをChatGPTにアップロードする]

#命令
やりたいこと
[ここにやってほしい集計などの条件を記述する]

#アウトプット
SQLクエリを出してください
SQL:[わかればここに使用するSQLの種類を書く]

プロンプト自体は至ってシンプルなのですが、ポイントとしては
インプットにサンプルデータを入力することです。

ここに関しては色々試しましたがやはり実際のデータを教えない限り正確なSQLクエリを出すことは難しかったため、できるだけサンプルデータをコピペするか、あるいはファイルでアップロードすることをおすすめします。

企業で使われる方は絶対に実際のデータをChatGPTに投げないでください。
社内のセキュリティが担保されたChatGPT環境で実施するか、ダミーデータを作成して試すことを推奨します。

注意書き

やりたいことに関しては集計方法や、制約、例えば2023-01-01~2023-01-03までなど、集計に際する条件を日本語等で記述すれば後はやりたいことに合わせたSQLクエリを書いてくれます。

最後の”SQL:[わかればここに使用するSQLの種類を書く]”に関しては、メーカーでSQLの方言(関数など)が多少なりとも違うケースがあるため、自信が使っているSQLの方言がなんであるかを確かめてください(Redshift、Oracle、MySQLなど)。

実際に以下のサンプルデータを作成してプロンプトを入力してみます。

サンプルデータ

データは架空の販売店での商品ごとの売上状況のデータです。
これに対してプロンプトを調整したのが以下になります。

#役割
あなたはデータエンジニアです
参照用のSQLの作成をアシストしてください

#インプット(ここはデータ添付でもOKです。)
購入日,商品大分類ID,商品中分類ID,商品ID,個数,単価,値段,消費税,年代,店舗名
2023-01-02 13:02:16,9,98,99852,5,7908,43494,3954,41-45歳,八尾店
2023-01-01 16:08:18,3,32,33280,5,8825,48537,4412,61歳以上,天王寺店
2023-01-02 03:46:04,6,68,66872,2,5896,12971,1179,46-50歳,京橋店
2023-01-03 20:58:13,9,98,99857,9,4367,43233,3930,20代未満,枚方店

#命令
やりたいこと
購入日と年代ごとに売上合計を値段を足し合わせて出したい

#アウトプット
SQLクエリを出してください
SQLMySQL

プロンプトを投げた結果は以下になります。

プロンプト結果その1
プロンプト結果その2

fromの中などは仮想の名前を入れてますがしっかりとSQLのクエリを作成してくれてます。
また合わせてクエリの各行の説明も書いてくれています。

SQLクエリを作成してくれるGPT

プロンプトの次は最近リリースされたGPT Builderを使ってSQLクエリ作成をアシストしてくれるGPTを作成してみたいと思います。

実際のGPTはこちらです(リンク飛べなかったらごめんなさい)

https://chat.openai.com/g/g-ox3V81oW9-sqlkueri-asisutanto

SQLアシストGPT
Instractions中身

作り方は簡単でまずは”スタートしてください”を押してもらうように最初の選択肢を作っています。
その後はサンプルデータを入力してもらえるようにSTEPを書いています。

データを入力した後はやりたいこととSQLについての確認があり、入力したらSQLクエリと説明を返してもらえるように作成しました。

あと設定としては”Code Interpreter”を設定しています。

実際使ってみると以下の結果になりました。

結果のその1
結果その2
結果その3

しっかりとやりたいことをSQLのクエリにしてくれています。
また、テーブル作成のクエリも書いてくれるのかなと思い、
オーダーしてみました。
結果は、

テーブル作成クエリ結果

きっちりCREATE文を書いてくれています。
正直SQLのクエリは長くなると記述するのがめんどくさいのですがこれだとだいぶ作業を省けそうなので便利に使えそうです。

これからSQLも使ってデータ分析したい方、データ分析結果を用いて企画やマーケティング内容を決めたい方は活用してみてください。

まとめ

今回はこれからの企画やマーケティング職の方にも必須になってくるSQLクエリを作成してくれるプロンプトとGPTを作成してみました。

是非、皆さんも活用してSQLを使っていきましょう!
いいねやフォローもお願いします!

また最近ブログの方も解説したので気になる方はお気に入り登録を是非
お願いします!


この記事が参加している募集

サポート費用は次の記事を書くための資金にさせていただいています。 ホワイトワーカーの在り方が問われていくこれからの時代にとって、考える職業の方々に価値あるナレッジを発信していくので応援よろしくお願いします! ※その代わり有料記事は作る気ないです。