sql >> データベース >  >> RDS >> Sqlserver

サブクエリと相関サブクエリの違い

    上記の例は、相互に関連するサブクエリではありません。これは、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



    1. MySQL-構造は同じだがデータが異なる複数のテーブルからデータを選択する

    2. MySQLから整数列と数値列をPHPの整数と数値として返すにはどうすればよいですか?

    3. AT TIME ZONE – SQLServer2016の新しいお気に入りの機能

    4. DBMSコンテキストでのBLOBとは正確には何ですか