다음을 통해 공유


별칭이 표시된 하위 쿼리

하위 쿼리와 외부 쿼리가 동일한 테이블을 참조(테이블을 자기 자신에게 조인)하는 문을 대부분 자체 조인이라고 합니다. 예를 들어 하위 쿼리를 사용하여 Terri Duffy와 관리자가 같은 직원을 찾을 수 있습니다.

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

결과 집합은 다음과 같습니다. 

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

(7 row(s) affected)

또는 자체 조인을 사용할 수도 있습니다.

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

자기 자신에게 조인된 테이블은 두 개의 다른 역할을 하므로 테이블 별칭이 필요합니다. 내부 쿼리와 외부 쿼리에서 동일한 테이블을 참조하는 중첩 쿼리에서도 별칭을 사용할 수 있습니다.

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)

명시적 별칭은 하위 쿼리에서 HumanResources.Employee에 대한 참조가 외부 쿼리에서의 참조와 동일하지 않음을 분명하게 해 줍니다.

참고 항목

개념

하위 쿼리 유형

도움말 및 정보

SQL Server 2005 지원 받기