Wiele poziomów zagnieżdżenia
podzapytanie sam zawierają jeden lub więcej podkwerend.Można zagnieździć dowolną liczbę podkwerendy w instrukcja.
Następująca kwerenda powoduje znalezienie nazwiska pracowników, którzy są również osoby sprzedaży.
Use AdventureWorks2008R2;
GO
SELECT LastName, FirstName
FROM Person.Person
WHERE BusinessEntityID IN
(SELECT BusinessEntityID
FROM HumanResources.Employee
WHERE BusinessEntityID IN
(SELECT BusinessEntityID
FROM Sales.SalesPerson)
)
Oto zestaw wyników.
LastName FirstName
-------------------------------------------------- -----------------------
Jiang Stephen
Abbas Syed
Alberts Amy
Ansman-Wolfe Pamela
Campbell David
Carson Jillian
Ito Shu
Mitchell Linda
Reiter Tsvi
Saraiva Jos
Vargas Garrett
Varkey Chudukatil Ranjit
Valdez Rachel
Tsoflias Lynn
Pak Jae
Blythe Michael
Mensa-Annan Tete
(17 row(s) affected)
Wewnętrzne kwerenda zwróci sprzedawcy identyfikatorów.Kwerendy z następnego wyższego poziom ocenione z tych Sprzedawca identyfikatory i zwraca kontaktu numery identyfikatorów pracowników.Wreszcie zewnętrznej kwerendy używa kontaktu identyfikatorów do znalezienia nazwiska pracowników.
Ta kwerenda może również wyrazić jako łączyć:
USE AdventureWorks2008R2;
GO
SELECT LastName, FirstName
FROM Person.Person c
INNER JOIN HumanResources.Employee e
ON c.BusinessEntityID = e.BusinessEntityID
JOIN Sales.SalesPerson s
ON e.BusinessEntityID = s.BusinessEntityID