ChatGPT を使用して SQL クエリを作成する方法

SQL クエリの作成は時間がかかり、困難な場合があります。特定のビジネス シナリオ向けのソリューションを作成する任務を負っている場合は、クエリが効率的かつ正確であることを確認する必要があります。

ChatGPT は、SQL を含む膨大な技術文書に基づいてトレーニングされた AI ツールです。SQL 構文に関する質問に答えたり、SQL クエリを生成したり、特定の SQL クエリの出力を説明したりできます。

SQL クエリの生成に ChatGPT を使用すると、レポートやデータ フローの設計などのより高度なタスクに集中できます。これにより時間を節約できるだけでなく、データ分析の品質と有効性も保証されます。

この記事を読み終えるまでに、ChatGPT を使用して SQL クエリの作成を支援する方法をしっかりと理解できるようになります。

目次

SQL クエリに ChatGPT を使用する利点

ChatGPT を使用して SQL クエリを作成する方法

ChatGPT は、自然言語を理解する強力な AI ツールです。これは、初心者と経験豊富な開発者の両方にとって貴重なツールとして役立ちます。

初心者にとって、SQL の構文は複雑で覚えるのが難しいと感じるかもしれません。ChatGPT は、自然言語リクエストを SQL クエリに変換することで役立ちます。これにより、平易な英語がリアルタイムで SQL に翻訳されるのを確認できるため、SQL の学習がよりインタラクティブになり、難しさが軽減されます。

経験豊富な開発者は、複数のテーブルや条件を含む複雑な SQL クエリを作成するのに時間がかかる場合があることに気づくでしょう。ChatGPT は、自然言語で記述されたタスクに基づいてクエリ スケルトンを生成したり、クエリを完了したりすることでプロセスを高速化できます。

これにより、構文エラーの可能性も減ります。エラーに関して言えば、ChatGPT は考えられる解決策や説明を提供することで SQL クエリのデバッグにも役立ちます。また、パフォーマンスを向上させるためにクエリを最適化するさまざまな方法を提案することもできます。

このツールのより一般的な概要が必要な場合は、次の記事を参照してください。

SQL クエリでの使用を開始したい場合は、読み続けてください。

SQL クエリ用 ChatGPT を始める方法

Open AI アカウント (無料です!) をまだお持ちでない場合は、次の手順に従ってください。

  1. ブラウザを起動し、https://chat.openai.com/にアクセスします。

  2. サインアップボタンをクリックします。

  3. 電子メール アドレス、Microsoft アカウント、または Google アカウントでサインアップします。

  4. 確認用の電話番号を入力します。

サインインすると、応答するメッセージの送信をすぐに開始できます。あなたのメッセージはChatGPT プロンプトとして知られています。

この記事では、SQL を操作する際にツールの使用方法に慣れるための多くの例を示します。

SQL クエリの ChatGPT セッションを開始する方法

さまざまなデータベース ベンダーが、独自の構文を使用して標準 SQL コードを拡張しています。

たとえば、Microsoft には、 Microsoft SQL Server インスタンスと対話するための Transact-SQL (T-SQL と略称) があります。T-SQL の構文は、MySQL や PostgreSQL などの別の種類の SQL データベース���は実行できません。

PostgreSQL は、SQL Server や Oracle では実行できない追加のコマンドと構文を備えたオープンソースの拡張機能です。

これは、データベース システムの拡張機能を使用して SQL クエリを提供するように ChatGTP に依頼する場合、使用している SQL の実装を明確にしてチャット セッションを開始する必要があることを意味します。

「 Microsoft SQL Server を使用しています」のようなステートメントでセッションを開始できます。そして次の文で質問してください。

より簡単にするには、「 SQL Server では、どうやって…?」を使用できます。概念や用語について尋ねるとき。

この記事の残りの部分では、すべての主要なデータベース管理システムで機能する標準 SQL クエリに焦点を当てます。

ChatGPT の意図を表現する方法

ChatGPT に対して自分の意図を明確に表現することが重要です。

ChatGPT が作業しているデータ モデルを理解できるように、テーブルの構造を説明することから始めます。テーブルの名前と関係、列とそのデータ型についても言及します。例えば:

注文と顧客という 2 つのテーブルがあります。order テーブルには列 id、customer_id、product、price があります。Customers テーブルには、ID、名前、電子メールの列があります。order テーブルの customer_id は、customers テーブルの id 列を参照する外部キーです。

次に、自然言語 (コードではなく人間のようなテキスト)を使用して生成したい特定のクエリについて簡単に説明します。

ChatGPT が探しているものを理解できるように、できるだけ正確に入力してください。例えば:

各顧客の注文価格の合計を計算して、各顧客の総収益を求める SQL クエリを作成します。

ChatGPT は、さまざまな部分の内訳を含む SQL クエリを返します。次の select ステートメントの例を見てください。

ChatGPT を使用して SQL クエリを作成する方法

AI テクノロジーは、指定されたテーブル名とリクエストに基づいて SQL クエリを生成しました。

しかし、このツールはそれだけではありません。さらにいくつかの点を指摘しています。

  • 代わりに LEFT JOIN を使用したい場合。

  • 顧客名が一意でない場合は、NAME の代わりに ID を使用することもできます。

クエリ結果に基づいたリクエストの作成

ChatGPT でより良いクエリ結果を得るには、複雑なリクエストを小さなチャンクに分割して会話フローを維持できます。

たとえば、都市に基づいて顧客をフィルタリングする、より複雑なクエリが必要だとします。

この新しい情報を提供することで、チャット セッションを続行できます。

列 id、customer_id、street、city、state を持つ customer_address という別のテーブルがあります。customer_id は、customer テーブルの外部キーです。

前の SQL クエリを修正して、シカゴからの顧客をフィルターします。

ChatGPT は、新しい WHERE 句を含む修正されたクエリを返します。

SQL の経験が浅い場合、これは知識を蓄積するのに最適な方法です。

ChatGPT をスムーズに操作できるように、リクエストは簡潔かつ関連するコンテキスト内に保つようにしてください。

クエリ生成の 4 つのベスト プラクティス

ChatGPT が生成する SQL コードが正しいソリューションであることを確認するためのヒントをいくつか紹介します。

  • 曖昧さを避けるために、テーブル名と列名は具体的に指定してください。

  • 条件、フィルター、並べ替え要件を明確に指定します。

  • 列や集計など、目的の出力形式を指定します。

  • 必要に応じて、同様の複雑なクエリの例を提供します。

説明が正確であればあるほど、生成されるクエリの品質も向上します。

パフォーマンスを最適化する 2 つの方法

ChatGPT を使用して SQL クエリを生成する場合、クエリのパフォーマンスの側面を考慮することが重要です。SQL クエリのパフォーマンスを最適化する 2 つの方法を次に示します。

  • 適切なインデックスを使用する

  • 過度に複雑な SQL クエリの回避

適切なインデックスを使用する

SQL の一部の拡張機能では、クエリで特定のインデックスを使用するように指定できますが、これは良い方法とは見なされません。データベース スキーマまたはデータ プロファイルが時間の経過とともに変化すると、クエリで非効率なインデックスの使用が強制される可能性があります。

ただし、ChatGPT にクエリに最適なインデックスに関するアドバイスを求めることができます。ここに例を示します。

このクエリを最も効率的に行うための 1 つ以上のインデックスを作成したいと考えています。手伝ってください。

ChatGPT はインデックスを推奨し、選択の背後にある理由を示します。

SQL 開発者が、提案されたインデックスをすべて盲目的に作成しないことが重要です。実際のデータには適切ではない可能性があります。それぞれを試してみることをお勧めします。

過度に複雑なクエリを避ける

前のセクションで提案したようにクエリを構築する利点の 1 つは、読み取りや保守が困難な長く複雑なクエリが生成される可能性が低いことです。

ChatGPT が、追跡するのが難しい複数のサブクエリを含むクエリを提供する場合、複数のクエリと 1 つ以上の一時テーブルを使用する代替スクリプトを提供するように指示できます。

「シカゴ」に対するクエリ フィルタリングが複雑すぎると判断したとします (実際は複雑ではありません!)。ChatGPT に次のように指示します。

前のクエリを一時テーブルを使用する 2 つの別々のクエリに分割したいと考えています。スクリプトでも同じ結果が得られる必要があります。

常に便利な ChatGPT は、あなたの要求に応じるために自ら倒れてしまいそうになります。こう書かれています。

確かに、最初に各顧客の総収益を保存する一時テーブルを作成し、次にこの一時テーブルをクエリしてシカゴの顧客をフィルターすることで、同じ結果を得ることができます。

このツールは引き続き、前の例と同じ結果を生成する 2 つの別個のコード セクションを提供します。

ChatGPT にデータを提示する方法

ChatGPT を使用して SQL クエリを作成する方法

クエリのトラブルシューティングを行う場合は、サンプル データを ChatGPT に提供し、SQL の実行を依頼できます。

前のセクションでは、テーブルとリレーションシップを記述する方法を説明しました。CREATE TABLE ステートメントを ChatGPT に提供することもできます。

次のステップでは、ChatGPT がデータベースを理解し、結果を解釈できるように、データを要約形式または表形式で提供します。

たとえば、次のようなデータを指定できます。

これらの表のデータは次のとおりです。

お客様

1、「ジョン・スミス」、「[email protected]

2、「メアリー・ドゥ」、「[email protected]

注文

1、1、「パーカー」、14.99

2、1、「Tシャツ」、5.99

3、2、「ジーンズ」、24.99

顧客の住所

1、1、「ホープストリート」、「シカゴ」、「イリノイ」

2、2、「チェリー・レーン」、「フィラデルフィア」、「ペンシルベニア」

シカゴにはジョン・スミスだけが住んでいることに注意してください。データを提供したら、ChatGPT に特定のクエリの結果を提供するように依頼できます。

セッション中にいくつかのバリエーションを試すようにツールに指示した場合は、あいまいさがないよう、「実行」したいクエリを正確にコピーして貼り付けることをお勧めします。

プロンプトとして「このクエリの結果を入力してください:」と入力します。

ChatGPT はクエリを使用して、John Smith の注文の合計収益を計算します。以下に例を示しますが、これが正解です。

ChatGPT を使用して SQL クエリを作成する方法

ChatGPT を使用する 2 つの欠点

注意すべき主なデメリットは次の 2 つです。

  • 間違った構文

  • 非効率的なクエリ

間違った構文

ChatGPT は、コンパイルされない SQL を生成したり、間違った結果を生成したりすることがあります。これは、標準 SQLに対する独自の拡張機能を使用するように要求した場合に発生する可能性が高くなります。

生成されたクエリをストアド プロシージャ内でラップしている場合は、結果をデータ アナリストまたはビジネス ユーザーに提供する前に必ずテストしてください。

データに対して自然言語クエリを使用するためのより精選された方法に興味がある場合は、Power BI での Microsoft の実装を確認してください。

非効率的なクエリ

SQL クエリが効率的であることを確認したい場合は、クエリの実行計画を調べます。

これは、データベース管理システムによって実行される一連の操作です。それは、マシンを開けて、何が動いているかを見るようなものです。

ChatGPT の問題は、データベース管理システムが SQL クエリをどのように処理しているかを確認できないことです。

たとえば、最初に州ごとに顧客をフィルタリングしますか、それともその部分を最後に実行しますか? その決定がパフォーマンスに大きな違いをもたらす可能性があります。

クエリから製品の出力が遅いことがわかった場合は、腕をまくり上げて実行計画を自分で調べる必要があります。

最終的な考え

ChatGPT を使用してビジネスで使用される典型的な SQL クエリを作成および修正する実際の例を見てきました。

AI ツールは強力な基盤を提供し、SQL クエリの生成を支援しますが、SQL をしっかりと理解する必要性に取って代わるものではないことに注意することが重要です。

ただし、正しく使用すると、ChatGPT は SQL 開発者にとって貴重なアシスタントになります。



Google スライドで Duet AI を使用して画像を作成する方法

Google スライドで Duet AI を使用して画像を作成する方法

Google スライドには、テキスト プロンプトを表示するだけでプレゼンテーションに画像を追加できる Duet AI 機能が導入されています。使用方法は次のとおりです。

Windows 11 に Google Bard をアプリとしてインストールする方法

Windows 11 に Google Bard をアプリとしてインストールする方法

Google Bard をインストールするには、Chrome > [カスタマイズとコントロール] > [その他のツール] メニュー > [ショートカットの作成] を開きます。Windows 11 の Edge から追加することもできます。

Android または iPhone の SwiftKey で Bing Chat AI を使用する方法

Android または iPhone の SwiftKey で Bing Chat AI を使用する方法

SwiftKey で Bing Chat AI を使用するには、Android および iPhone でアプリを開き、キーボードを表示し、Bing をクリックして、検索、トーン、またはチャットを選択します。

Windows 11 に ChatGPT を使用して Bing をアプリとしてインストールする方法

Windows 11 に ChatGPT を使用して Bing をアプリとしてインストールする方法

Windows 11 に ChatGPT を使用して Bing をアプリとしてインストールするには、Edge のメイン設定メニューを開き、[アプリ] を選択して、アプリ オプションとしてこのサイトをインストールします。

ChatGPT を使用して Bing に早期アクセスする方法

ChatGPT を使用して Bing に早期アクセスする方法

ChatGPT AI を使用して Bing に早期アクセスするには、Microsoft アカウントでサインアップし、これらの設定を変更して列に並ばずにアクセスできるようにしてください。

Bing Chat AI の検索履歴をクリアする方法

Bing Chat AI の検索履歴をクリアする方法

Bing Chat AI の検索履歴をクリアするには、Microsoft アカウントの検索履歴を開いてクエリを削除します。質問全体は保存されません

Google 検索で Generative AI に早期アクセスする方法

Google 検索で Generative AI に早期アクセスする方法

Google の新しい検索用 Generative AI 機能に早期にアクセスするには、Search Labs Web サイトを開いてサインインし、[待機リストに参加] をクリックします。

Google で Generative AI 検索結果を無効にする方法

Google で Generative AI 検索結果を無効にする方法

検索で Google AI の結果を無効にするには、検索ラボ ページを開き、SGE およびコード ヒントのオプションをオフにします。その方法は次のとおりです。

ChatGPT で新しい Bing AI を使用する方法

ChatGPT で新しい Bing AI を使用する方法

ChatGPT で Bing AI の使用を開始するには、アクセスを取得した後、Bing を開いて検索を行い、[チャット] をクリックして、人間のような複雑な質問をします。

Grok AIとは?Grok AIを効果的に使用する方法

Grok AIとは?Grok AIを効果的に使用する方法

Grokの強みは、リアルタイムデータに基づいて対応できることです。Twitter(X)は暗号、金融にとって非常に強力なプラットフォームであるため、投資家にとって待つ価値があります。