Udostępnij za pośrednictwem


Podkwerendy z aliasów

Wiele instrukcji, w którym podkwerenda i zewnętrznej kwerendy odwoływać się do tej samej tabela może zostać określona jako self-joins (dołączania tabela z samą sobą).Można na przykład znaleźć pracowników, którzy mają ten sam Menedżer jak Terri Duffy przy użyciu podkwerenda:

USE AdventureWorks;
GO
SELECT EmployeeID, ManagerID
FROM HumanResources.Employee
WHERE ManagerID IN
    (SELECT ManagerID
     FROM HumanResources.Employee
     WHERE EmployeeID = 12)

Here is the result set.

EmployeeID  ManagerID
----------- -----------
6           109
12          109
21          109
42          109
140         109
148         109
273         109

(7 row(s) affected)

Można też użyć samosprzężenie:

USE AdventureWorks;
GO
SELECT e1.EmployeeID, e1.ManagerID
FROM HumanResources.Employee AS e1
INNER JOIN HumanResources.Employee AS e2
ON e1.ManagerID = e2.ManagerID
AND e2.EmployeeID = 12

Aliasy tabela są wymagane, ponieważ w tabela, że jest dołączony do niego samego pojawia się w dwóch różnych ról.Mogą również być również używane w kwerendach zagnieżdżonych, które odwołują się do tej samej tabela w kwerendzie wewnętrznych i zewnętrznych.

USE AdventureWorks;
GO
SELECT e1.EmployeeID, e1.ManagerID
FROM HumanResources.Employee AS e1
WHERE e1.ManagerID IN
    (SELECT e2.ManagerID
     FROM HumanResources.Employee AS e2
     WHERE e2.EmployeeID = 12)

Jawne aliasy był wyczyścić, odwołanie do HumanResources.Employee w podkwerendzie nie oznacza to samo jako odwołanie zewnętrzne kwerendy.

See Also

Concepts