LuckyTemplates ユーザーのための SQL のサブクエリ

LuckyTemplates ユーザーのための SQL のサブクエリ

このチュートリアルでは、SQL でサブクエリを利用する方法を学び、理解します。サブクエリは、別のクエリ内のクエリです。これを、より大きなクエリ内のネストされたクエリと呼ぶこともできます。これは括弧で囲む必要があり、主にWHERE句で使用されます。

LuckyTemplates ユーザーのための SQL のサブクエリ

複数のテーブルからデータを取得する必要がある場合は、SQL でサブクエリを利用できます。

たとえば、次の 2 つのテーブルがあるとします。 

LuckyTemplates ユーザーのための SQL のサブクエリ

これが私たちが解決しなければならない問題です。2022 年に購入した顧客の顧客名、電子メール ID、住所を取得する必要があります。Customersテーブルには売上や注文日の列が記録されていないため、Customersテーブルのみを使用するだけではこれは不可能です。これを解決する別の方法があります。

LuckyTemplates ユーザーのための SQL のサブクエリ

目次

複数の個別のクエリを通じて手動でデータを取得する

まず、 SalesテーブルのCustomerId を取得しているので、できることは、 SalesテーブルのOrderDate列から 2022 年に購入した人の顧客 ID を取得することです。 

LuckyTemplates ユーザーのための SQL のサブクエリ

2022 年以降に購入した人の顧客 ID ( 1、3、5、7、8、9… ) がわかったと仮定すると、別のクエリを作成して、顧客の情報に基づいてCustomersテーブルからそれらの顧客の情報を取得できます。 ID

LuckyTemplates ユーザーのための SQL のサブクエリ

この方法の問題は、プロセスを手動で行ったことです。まず、顧客の ID を取得し、次のクエリに手動で入力して顧客の情報を取得する必要があります。 

SQL のサブクエリを通じてデータを自動的に取得する

ID を手動で入力する代わりに、 SQLのサブクエリを使用して自動的に入力することができます。IN条件と組み合わせて使用​​すると、顧客の ID や特定の問題を解決するために必要なデータを自動的に取得できます。 

これは、問題を解決するために私たちができることの一例です。このサンプル クエリでは、ネストされたクエリから取得された顧客 ID に基づいて、Customersテーブルから顧客の名前、住所、電子メール ID を選択しています。このネストされたクエリでは、顧客 ID は注文日が 2022 のSalesテーブルから取得されます。

LuckyTemplates ユーザーのための SQL のサブクエリ

この手法を使用すると、2022 年以降に購入した人の顧客 ID を手動で入力する必要がなくなります。顧客 ID は、作成したネストされたクエリから自動的に取得されます。 

SQL Server Management Studio を使用したサブクエリのサンプル シナリオ

同様のシナリオを考えてみましょう。今回は SQL Server Management Studio ( SSMS ) 内で実行してみましょう。この例では、他にSalesOrderHeaderSalesTerritoryという 2 つのテーブルがあります。 

LuckyTemplates ユーザーのための SQL のサブクエリ

私たちの目標は、米国の地域からSalesOrderHeaderに関するすべての情報を取得することです。SalesOrderHeaderには、国・地域列がありません。 

LuckyTemplates ユーザーのための SQL のサブクエリ

ただし、SalesTerritoryテーブルでも使用できるTerritoryID列を使用できます。ここで、CountryRegionCode列である国の地域情報も取得できます。

LuckyTemplates ユーザーのための SQL のサブクエリ

LuckyTemplates ユーザーのための SQL のサブクエリ

繰り返しますが、これを手動で行うには、最初に米国の国地域を含むSalesTerritoryテーブルからTerritoryIDを取得します。 

LuckyTemplates ユーザーのための SQL のサブクエリ

次に、米国の国地域の下にTerritoryIDのリストが表示されます。

LuckyTemplates ユーザーのための SQL のサブクエリ

その後、これらの ID をクエリに手動で入力することで、目的の結果を得ることができます。

LuckyTemplates ユーザーのための SQL のサブクエリ

LuckyTemplates ユーザーのための SQL のサブクエリ

ただし、ID を手動で入力する代わりに、サブクエリを使用することで簡単に入力できます。これを、米国の国地域を含むSalesTerritoryテーブルのTerritoryIDを取得する最初のクエリに置き換えるだけです。 

LuckyTemplates ユーザーのための SQL のサブクエリ

これにより、手動プロセスと同じ結果が得られます。 

LuckyTemplates ユーザーのための SQL のサブクエリ

結論

要約すると、SQL におけるサブクエリの使用法と重要性を学びました。特定のサブクエリを作成するための適切な構文についても説明しました。確かに、複数のクエリを作成して、特定の出力を取得する手動プロセスを作成できます。ただし、代わりにWHERE句とIN条件を指定したサブクエリを使用して、別のテーブルから特定のデータを自動的にフェッチすることができます。

このテクニックを使用して、将来のクエリをより効率的に使用できるようになれば幸いです。

ではごきげんよう、

ハーフィズ

SQL Server のダウンロードとインストール
LuckyTemplates ユーザーのための SQL – 新しい LuckyTemplates コース
複数のデータ ソースからのデータのクエリ


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて