ほぼテク7月26日ソフトウェア開発におけるSQL作成の課題をChatGPTが解決!?人間とAIで開発する次世代のソフトウェア開発!?

ほぼテク読者の皆様、いつも大変ありがとうございます!
我妻裕太です。

本日もよろしくお願いいたします。GPTに関する連続投稿約92日目です!
本日もChatGPTの有効活用方法の検討です!

今回のテーマはソフトウェア開発時に困るSQL作成です!
何かの参考になれば幸いです。

SQL開発のよくある課題

ソフトウェア開発者として、日々の業務の中でSQLを利用する場面はとても多いかと思います。
しかし、データベース設計の内容の理解、クエリ最適化、文法の複雑さなど、SQL開発は一筋縄ではいかない課題を含んでいます。

特に新人時代などはもう意味不明な呪文のようでかなり困っていたのを思い出します(笑)

SQLの難しいところの一つ目の課題は、データベース設計の理解です。
新しいプロジェクトに参加したとき、複雑なテーブル構造とリレーションシップを理解するのは時間と労力が必要です。かなり・・・
また、特定のデータを取得するための適切なクエリを書くためには、場合によっては職人のようなスキーマの詳細に精通していなければなりません。

二つ目の課題は、クエリの最適化です。適切なインデックスを使用したり、不要な結合を避けたり、サブクエリをうまく活用したりすることでパフォーマンスを向上させることが可能ですが、これらのテクニックを理解し適用するのは容易ではありません。
サクサク開発していたけど、大量のデータをいれた瞬間に・・・あれ((+_+))のようなこともあるのではないでしょうか(笑)

最後の課題は、SQLの文法の複雑さです。
SQLは機能が豊富で柔軟な言語ですが、そのために文法が複雑で、さまざまなシチュエーションで適切な構文を思い出すのは難しい場合があります。
とにかくSQLは難しい印象を持たれている方は多いのではないでしょうか。

私は今でもあまり難しいSQLは考えたくはないです・・・

大好きChatGPTの登場

助けて?ChatGPT!

そこで登場するのが、大好きChatGPT です!

ChatGPTは、自然言語処理の能力を活用して、複雑なクエリの作成や理解、最適化に役立つツールとして開発者の手元に提供されています。
ChatGPTは、開発者が高度なクエリを手早く作成できるよう支援し、SQL開発の効率を大幅に向上させることができます。

ChatGPTで効率化するSQL開発

では、具体的にChatGPTがどのようにSQL開発を効率化するか見ていきましょう。
特に注目すべきは、ChatGPTが自然言語の指示に基づいてSQLクエリを生成する能力です。

これにより、開発者は複雑なクエリを自力で書く代わりに、ChatGPTに指示を与えるだけで適切なクエリを得ることができます。
これはSQLの経験が少ない開発者や、短時間で複雑なクエリを生成しなければならないシチュエーションに特に役立ちます。

SQL生成のイメージ

それでは、具体的なデモを通じてChatGPTがどのようにSQLクエリを生成するのか見てみましょう。
まず、以下のスキーマ情報を持つデータベースを考えてみます。

customersテーブル:

 id (整数、主キー)

 name (文字列)

 email (文字列)

ordersテーブル:

 id (整数、主キー)

 customer_id (整数、customersテーブルへの外部キー)

 product (文字列)

 quantity (整数)

次に、このデータベースに対して、「顧客の名前とそれぞれの注文の総数を取得するクエリを生成してください」というプロンプトをChatGPTに投げてみます。
恐らくChatGPTの生成するSQLクエリは次のようになります!

SELECT customers.name, COUNT(orders.id)

FROM customers

LEFT JOIN orders ON customers.id = orders.customer_id

GROUP BY customers.name;

このようにChatGPTがSQL開発者の負担を軽減し、生産性を向上させるための具体的な方法を示してくれます。
複雑なデータベースでも、具体的なクエリのニーズに応じて、ChatGPTが短時間で適切なクエリを生成することが可能です。
これにより、開発者はより重要な業務に集中し、全体的なプロジェクトの進行をスムーズにすることができます。

素晴らしいです。

それでは早速ChatGPTでSQLを生成してみよう!

では早速ためしてみよう!
今回の実験ルールは以下の通りです。

【実験ルール】
GPT-3.5で実験する。
プロンプトは以下で実行します。

【プロンプト】
あなたは弊社の優秀なデータベーススペシャリストです。
顧客の名前とそれぞれの注文の総数を取得するクエリを生成してください
スキーマ情報は以下の通りです。

## スキーマ

customersテーブル:
id (整数、主キー)
name (文字列)
email (文字列)

ordersテーブル:
id (整数、主キー)
customer_id (整数、customersテーブルへの外部キー)
product (文字列)
quantity (整数)

よろしくお願いいたします!顧客の名前とそれぞれの注文の総数を取得するためのSQLクエリを以下に示します。

SELECT customers.name AS customer_name, COUNT(orders.id) AS total_orders

FROM customers

LEFT JOIN orders ON customers.id = orders.customer_id

GROUP BY customers.id, customers.name;

このクエリは、customersテーブルとordersテーブルをcustomer_idを使用して左外部結合しています。これにより、すべての顧客情報が含まれる結果セットを得ることができます。そして、COUNT関数を使って各顧客の注文総数を計算し、GROUP BY句で顧客ごとにグループ化しています。

このクエリをデータベースに実行すると、各顧客の名前とその顧客の総注文数が取得されるはずです。

以下は英語版です↓


はや・・・

すご!とても早いです。
そんなに難易度は高くないかもしれませんが、それでもこのスピードで生成するのは異次元ですね!

これがあればSQLで悩むことも減るかもしれませんね。

まとめ

っということでいかがでしたでしょうか。

本日はChatGPTでSQLを生成してみました。
日々時代の進化するスピードが速くなる中で、時代についていくためには私たち自身がさらにスピード感をもって日々を過ごしていく必要があると思います。

その中でソフトウェア開発も同じで少しでも創意工夫をして新しい価値をできるだけ早く生み出して世の中に提供していくことが大事だと思います。
その時に私たちの大好きなChatGPTがきっと活躍してくれるはずです。

人間とAIの新しいソフトウェア開発の姿、とても面白い世界ですね。
テクノロジーを有効活用して新しい時代の波に乗り遅れないように頑張りたいものです!

今回の記事がみなさまの何かの参考になりましたら幸いです。
今回も最後までお読みいただきありがとうございました。

また次回お会いしましょう。

原稿執筆

株式会社GROWTH JAPAN TECHNOLOGIES  我妻裕太

バックナンバー

ほぼテク 7月25日ChatGPTで夏真っ盛り!夏の行楽シーズンの旅行計画をChatGPTと考えてみた!GPT-3.5のロンドン編!

ほぼテク 7月24日ChatGPTで「文章の中の大事な単語を拾いだす」テキストデータから宝を見つける究極のガイド?研究者ネットワーク編!

ほぼテク7月23日ChatGPTが変える業務効率化!ChatGPTを使った次世代のタスク管理!?

ほぼテク7月22日ChatGPTをあなた専用のAIにカスタマイズ!新機能「Custom Instructions」の紹介です!

ほぼテク 7月21日GPTのライバルになるか?ついに登場IBM WatsonからLLMが登場!その名もwatsonx!

ほぼテク 7月20日GPTと創る新しいビジネス体験の世界へ!Bing Chat EnterpriseとMicrosoft 365 Copilotの進化!

ほぼテク7月19日GPTのライバルになるか?満を持して登場のMetaのLlama2が先ほど公開されました!

ほぼテク 7月18日ChatGPTで「文章の中の大事な単語を拾いだす」テキストデータから宝を見つける究極のガイド?論文から引用解析編!

ほぼテク7月17日海の日にちなんで?多様化するDBの波を乗り越えられるかをChatGPTで試してみました。

ほぼテク7月16日GPT-3.5、GoogleBardでシフト管理を考えてみました!

ほぼテク7月15日GPT-4 Code InterpreterでG20の人口成長率を分析してみたら新しい気づきをくれました!

ほぼテク 7月14日ChatGPTで「文章の中の大事な単語を拾いだす」テキストデータから宝を見つける究極のガイド?論文から専門用語と概念抽出!

ほぼテク 7月13日ChatGPTで「文章の中の大事な単語を拾いだす」テキストデータから宝を見つける究極のガイド?論文メタデータ編!

ほぼテク7月12日最新情報アップデート!GPT-4一般公開されたけど、APIで支払い履歴がないと使えないことが分かりましたの件(涙)

ほぼテク 7月11日ChatGPTで「文章の中の大事な単語を拾いだす」テキストデータから宝を見つける究極のガイド?レシピ開発編!

ほぼテク 7月10日ChatGPTで「文章の中の大事な単語を拾いだす」テキストデータから宝を見つける究極のガイド?スケジュール管理編!

ほぼテク7月9日最新機能ChatGPTの「Code Interpreter(コードインタープリター)」を使ってみました!

ほぼテク7月8日SaaSサービスの利用規約のひな型をGPT、Bardで作ってみました!

ほぼテク 7月7日ChatGPTで「文章の中の大事な単語を拾いだす」テキストデータから宝を見つける究極のガイド?マーケット調査編!

ほぼテク 7月6日ChatGPTで「文章の中の大事な単語を拾いだす」テキストデータから宝を見つける究極のガイド?契約書編!

ほぼテク7月5日BingのGPTの画像認識を解剖?ChatGPTとの違いと画像解析の可能性を探る!

ほぼテク 7月4日ChatGPTで「文章の中の大事な単語を拾いだす」テキストデータから宝を見つける究極のガイド?ニュース記事の分析編!

ほぼテク 7月3日ChatGPTで「文章の中の大事な単語を拾いだす」テキストデータから宝を見つける究極のガイド?カスタマーサービス編!

ほぼテク7月2日ChatGPT・GoogleBardを活用したコンテンツモデレーション(投稿監視)!コミュニティの健全性と品質をChatGPT、GoogleBardで保てるか?

ほぼテク7月1日ChatGPTを活用してオンラインショッピングサイトのカスタマーサポートを効率化しよう?

ほぼテク 6月30日ChatGPTと固有表現抽出!テキストデータから宝を見つける究極のガイド?SNSマーケティング編!

ほぼテク 6月29日 ChatGPTと固有表現抽出!テキストデータから宝を見つける究極のガイド?

ほぼテク6月28日AIと一緒にダイエット?ChatGPT、GoogleBardに体重データを分析してもらった!なかなか面白いよ(笑)

ほぼテク 6月27日GPT活用で時短!議事録作成の革新的な効率化テクニック②GPT、Bardで議事録作成!

ほぼテク 6月26日 GPT活用で時短!議事録作成の革新的な効率化テクニック①GPTによる架空の議事録生成実験!

ほぼテク6月25日GPTの最新機能!「Azure OpenAI Service on your data」を試してみました!

ほぼテク6月24日GPTの活用事例!チャットボット用のQAデータをGPTで作成してみた!

ほぼテク 6月23日 GPTはメールの緊急度はチェックできるのか実験をしました!

ほぼテク 6月22日 GPTと自社データをシームレスに結びつける新サービス「Azure OpenAI Service On Your Data」公開プレビュー!を徹底解説!

ほぼテク6月21日GPT4の活用事例!生成AI達でAIの教師データを生成してみよう。

ほぼテク 6月20日メールをチェックするのはあなたとChatGPT!

ほぼテク 6月19日ChatGPTのリアル活用事例を参考にシステム開発の目線で仕組みを考えてみました!

ほぼテク6月18日最新情報アップデート!AIとの会話で進化する車の運用― メルセデス・ベンツのChatGPTの試験搭載について

ほぼテク6月17日ChatGPTの活用ガイド!AIをあなたのプロジェクトに取り入れる方法徹底解説?

ほぼテク 6月16日 GPT-4!テクノロジーの進化と新たな可能性

ほぼテク 6月15日ChatGPTがさらにパワーアップ!新モデルと機能のリリース情報?

ほぼテク6月14日!ChatGPTを活用するために重要な留意事項13選! AIとのスムーズな対話を実現!

ほぼテク 6月13日大好きChatGPT!全知全能の神様ではない、その真実に迫る?

ほぼテク6月12日ChatGPTの言語理解力を革新する「大規模言語モデル」を徹底解説?

ほぼテク6月11日!ChatGPTでSNSマーケティングを攻略しよう!

ほぼテク6月10日!ChatGPTで情報の抽出をマスターしよう!

ほぼテク 6月9日AIを活用した業務効率化!ChatGPTでのタスク管理と優先順位付け?

ほぼテク 6月8日AIとメールの融合?ChatGPTを活用したメール作成術!

ほぼテク6月7日!ChatGPTを使って業務効率化! - データ解析とレポート作成の新たな方法?

ほぼテク 6月6日 AIと英語学習の融合?ChatGPTの有効活用法!

ほぼテク6月5日!ChatGPTで金融業でのAI活用?クライアント情報の間違いを探し出す

ほぼテク6月4日!ChatGPTでマスタ情報を活用した間違い探し!

ほぼテク6月3日!ChatGPTで文法・スペルチェック!

ほぼテク 6月2日 AIの進化とレシピ生成の競争:ChatGPT「GPT-3.5」対「GPT-4」対Google Bard

ほぼテク 6月1日新3大AI!ChatGPT or Google Bard比較パート⑥(一番上手そうなレシピを生成してくれるのはどれか?Google Bard編)

ほぼテク5月31日!ChatGPTでファンタジーは創造できるか?

ほぼテク 5月30日新3大AI!ChatGPT or Google Bard比較パート⑤(一番上手そうなレシピを生成してくれるのはどれか?GPT-4編)

ほぼテク 5月29日 新3大AI!ChatGPT or Google Bard比較パート④(一番上手そうなレシピを生成してくれるのはどれか?GPT-3.5編)

ほぼテク5月28日!ChatGPTで地元仙台市を分析してみました!

ほぼテク5月27日!ChatGPTでWebサイトから重要な情報を取得できるか試してみました!

ほぼテク5月26日 新3大AI!ChatGPT or Google Bard比較パート③(だれが回答を出す際の音速の貴公子か?)

ほぼテク5月25日 ChatGPT or Google Bard比較パート②(生成AIに最新情報は取得できるか)

ほぼテク5月24日!ChatGPTプラグイン実践編!画像生成のためのプロンプト生成プラグイン!

ほぼテク 5月23日(ChatGPT or Google Bard) – テクノロジーが日常にもたらすイノベーション?

ほぼテク 5月22日(ChatGPTを自社Webサイトに組み込むには? ) – テクノロジーが日常にもたらすイノベーション?

ほぼテク5月21日!ChatGPTプラグイン実践編!食べログプラグイン!

ほぼテク5月20日!とても面白いChatGPTのプラグイン使ってみました!

ほぼテク 5月19日(ChatGPTを自社システム・自社サービスに組み込むには? ) – テクノロジーが日常にもたらすイノベーション?

今更聞ける!ほぼ毎日テック日報 5月18日(SRA東北版ChatGPT誕生しました? ) – テクノロジーが日常にもたらすイノベーション?

ほぼテク5月17日!GPTとの冒険!ファインチューニングで試行錯誤、そして成功へ!

今更聞ける!ほぼ毎日テック日報 5月16日(ChatGPT? OR SRA東北?まとめ ) – テクノロジーが日常にもたらすイノベーション?

今更聞ける!ほぼ毎日テック日報 5月15日(ChatGPTと過ごした3日間?AI・人工知能EXPO出展報告、ChatGPT対応ソリューション多数ございます!) – テクノロジーが日常にもたらすイノベーション?

ほぼテク5月14日!ChatGPT Webブラウジング機能がリリースされました!

ほぼテク5月13日!ChatGPTを活用した創作活動の一例!物語のプロットを創ってみた。

ほぼテク5月12日!Bard – Googleの新しい会話型AIが世界デビュー!

今更聞ける!ほぼ毎日テック日報 5月11日(宇宙ビジネスをより注力します!) – テクノロジーが日常にもたらすイノベーション?

今更聞ける!ほぼ毎日テック日報 5月10日(ChatGPTとSRA東北の比較?) – テクノロジーが日常にもたらすイノベーション?

ほぼテク5月10日!今、私たちは新たなフロンティア、つまり宇宙へと視野を広げています!

今更聞ける!ほぼ毎日テック日報 5月9日(特定型AI(Narrow AI)とは) – テクノロジーが日常にもたらすイノベーション?

今更聞ける!ほぼ毎日テック日報 5月8日(日本最大級のイベントAI・人工知能EXPO) – テクノロジーが日常にもたらすイノベーション?

ほぼテク5月7日!Chat GPTの正しい使い方基本プロンプトで会話してみました④

ほぼテク5月6日!Chat GPTの正しい使い方基本プロンプトで会話してみました③

ほぼテク5月5日!Chat GPTの正しい使い方基本プロンプトで会話してみました②

ほぼテク5月4日!Chat GPTの正しい使い方基本プロンプトで会話してみました①

ほぼテク5月3日ImageCreatorで生成した画像で展示会?

今更聞ける!ほぼ毎日テック日報 5月2日(スケール則(scaling law):極めて重要な法則) – テクノロジーが日常にもたらすイノベーション?

今更聞ける!ほぼ毎日テック日報 5月1日(ChatGPT? OR SRA東北?) – テクノロジーが日常にもたらすイノベーション?

今更聞ける!ほぼ毎日テック日報(おとなの週末) 4月30日(マイクロソフト画像生成AI「Bing Image Crator」とは?) – テクノロジーが日常にもたらすイノベーション?

今更聞ける!ほぼ毎日テック日報(おとなの週末) 4月29日(完全自動実行AI AutoGPTとは?) – テクノロジーが日常にもたらすイノベーション?

今更聞ける!ほぼ毎日テック日報 4月28日(ChatGPT? OR SRA東北?) – テクノロジーが日常にもたらすイノベーション?

今更聞ける!ほぼ毎日テック日報 4月27日(ChatGPT? OR SRA東北?) – テクノロジーが日常にもたらすイノベーション?

新企画!?「今更聞ける!ほぼ毎日テック日報 - テクノロジーが日常にもたらすイノベーション?」

前へ
前へ

ほぼテク 7月27日ChatGPTで夏真っ盛り!夏の行楽シーズンの旅行計画をChatGPTと考えてみた!GPT-4のロンドン編!

次へ
次へ

ほぼテク 7月25日ChatGPTで夏真っ盛り!夏の行楽シーズンの旅行計画をChatGPTと考えてみた!GPT-3.5のロンドン編!