SQL Server相関サブクエリ
概要:このチュートリアルでは、その値の外部クエリに依存するサブクエリであるSQL Server
相関サブクエリは、外部クエリの値を使用するサブクエリです。 言い換えれば、それはその値の外部クエリに依存します。 この依存関係のため、相関サブクエリを単純なサブクエリとして独立して実行することはできません。
さらに、外部クエリによって評価された各行に対して、相関サブクエリが繰り返し実行されます。 相関サブクエリは、繰り返しサブクエリとも呼ばれます。
次のproducts
サンプルデータベースのテーブルを考えてみましょう。
次の例では、同じカテゴリ内の製品:
Code language: SQL (Structured Query Language) (sql)SELECT product_name, list_price, category_idFROM production.products p1WHERE list_price IN ( SELECT MAX (p2.list_price) FROM production.products p2 WHERE p2.category_id = p1.category_id GROUP BY p2.category_id )ORDER BY category_id, product_name;
ここに結果があります:
この例では、外部クエリによって評価された製品ごとに、サブクエリはそのカテゴ 現在の製品の価格が、そのカテゴリ内のすべての製品の最高価格と等しい場合、その製品は結果セットに含まれます。 このプロセスは次の製品などで継続されます。ご覧のとおり、相関サブクエリは、外部クエリによって評価された製品ごとに1回実行されます。
このチュートリアルでは、SQL Server相関サブクエリについて学習しました。