上記の例は、相互に関連するサブクエリではありません。これは、FROM句内のサブクエリであるため、派生テーブル/インラインビューです。
相互に関連するサブクエリは、その中の親(メインクエリ)テーブルを参照する必要があります。たとえば、相互に関連するサブクエリでN番目の最大給与を検索するを参照してください。
SELECT Salary
FROM Employee E1
WHERE N-1 = (SELECT COUNT(*)
FROM Employee E2
WHERE E1.salary <E2.Salary)
相互関連とネストされたサブクエリ。
通常のサブクエリと共同関連のサブクエリの技術的な違いは次のとおりです。
1。ループ: main-queryの下の相互に関連するサブクエリループ。一方、ネストされていません。したがって、相互に関連するサブクエリは、メインクエリの各反復で実行されます。一方、ネストされたクエリの場合。サブクエリが最初に実行され、次に外部クエリが実行されます。したがって、最大数。実行の数は、相関サブクエリの場合はNXM、サブクエリの場合はN+Mです。
2。依存関係(内側から外側vs外側から内側): 相互に関連するサブクエリの場合、内部クエリは処理のために外部クエリに依存しますが、通常のサブクエリでは、外部クエリは内部クエリに依存します。
3.パフォーマンス: 共同関連のサブクエリを使用すると、N + M回の反復ではなくNXMの反復が実行されるため、パフォーマンスが低下します。 ¨相互に関連するサブクエリの実行。
例を含む詳細情報:
http://dotnetauthorities.blogspot.in/2013/12/Microsoft-SQL-Server-Training-Online-Learning-Classes-Sql-Sub-Queries-Nested-Co-related.html