Powyższy przykład nie jest powiązanym zapytaniem podrzędnym. Jest to pochodna tabela / widok wbudowany, ponieważ np. Zapytanie podrzędne w klauzuli FROM.
Skorelowane podzapytanie powinno odwoływać się do swojej macierzystej (głównej tabeli zapytań) w nim. Na przykład Zobacz znajdź N-te maksymalne wynagrodzenie według powiązanego podzapytania:
SELECT Salary
FROM Employee E1
WHERE N-1 = (SELECT COUNT(*)
FROM Employee E2
WHERE E1.salary <E2.Salary)
Podzapytania powiązane i zagnieżdżone.
Techniczne różnice między podzapytaniem Normalnym a podzapytaniem powiązanym:
1. Zapętlanie: Powiązana pętla podzapytania w zapytaniu głównym; mając na uwadze, że nie zagnieżdżone; dlatego powiązane podzapytanie jest wykonywane przy każdej iteracji zapytania głównego. mając na uwadze, że w przypadku zapytania zagnieżdżonego; podzapytanie jest wykonywane jako pierwsze, a następnie wykonywane jest zapytanie zewnętrzne. Stąd maksymalna nie. wykonań to NXM dla skorelowanego podzapytania i N+M dla podzapytania.
2. Zależność (zewnętrzne na zewnętrzne kontra zewnętrzne na wewnętrzne): W przypadku współpowiązanego podzapytania, zapytanie wewnętrzne zależy od zapytania zewnętrznego do przetworzenia, podczas gdy w normalnym podzapytaniu zapytanie zewnętrzne zależy od zapytania wewnętrznego.
3.Wydajność: Użycie podzapytania związanego ze współbieżnością zmniejsza wydajność, ponieważ wykonuje iteracje NXM zamiast iteracji N+M. ¨ Powiązane wykonywanie podzapytania.
Więcej informacji z przykładami:
http://dotnetauthorities.blogspot.in/2013/12/Microsoft-SQL-Server-Training-Online-Learning-Classes-Sql-Sub-Queries-Nested-Co-related.html