Udostępnij za pośrednictwem


Wiele poziomów zagnieżdżanie

Sam podkwerenda mogą zawierać jeden lub więcej podkwerend.Dowolna liczba podkwerendy mogą być zagnieżdżane w instrukcja.

Następująca kwerenda powoduje znalezienie nazwiska pracowników, którzy są również sprzedawców.

Use AdventureWorks;
GO
SELECT LastName, FirstName
FROM Person.Contact
WHERE ContactID IN
    (SELECT ContactID
     FROM HumanResources.Employee
     WHERE EmployeeID IN
        (SELECT SalesPersonID
         FROM Sales.SalesPerson)

Here is the result set.

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)

Najbardziej kwerenda zwraca sprzedawcy identyfikatorów.Kwerendy z następnego wyższego poziom sprawdzana jest zgodność z tych Sprzedawca identyfikatorów i zwraca kontaktu numery identyfikacyjne pracowników.Na koniec zewnętrznej kwerendy używa nazwy kontaktu w celu wyszukania nazwiska pracowników.

Ta kwerenda może również przedstawić jako łączyć:

USE AdventureWorks;
GO
SELECT LastName, FirstName
FROM Person.Contact c
INNER JOIN HumanResources.Employee e
ON c.ContactID = e.ContactID
JOIN Sales.SalesPerson s 
ON e.EmployeeID = s.SalesPersonID

See Also

Concepts