Share via


Birden çok iç içe geçme düzeyi

A alt sorgu kendini bir veya daha fazla alt sorgular içerebilir.Herhangi bir sayıda alt sorgular bir deyim içinde iç içe olabilir.

Aşağıdaki sorgu aynı zamanda satış kişiler olan çalışanların adlarını bulur.

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)
    )

Sonuç kümesi buradadır.

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)

En içteki sorgu satış temsilcisi kimlikleri verir.Sonraki sorgu daha yüksek düzey bu satışçı kimlikleri ile değerlendirilir ve çalışanların kişi kimlik numaralarını döndürür.Son olarak, dış sorgu kişinin kimlikleri çalışanların adlarını bulmak için kullanır.

Ayrıca bu sorguyu birleştirmek ifade edebilirsiniz:

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

Ayrıca bkz.

Kavramlar