MSSQL 2008/MSSQL SQL

SQL - 테이블 조인 사용

본클라쓰 2012. 3. 12. 14:03

 

조인 조건은 FROM 절이나 WHERE 절에 지정할 수 있으며 FROM 절에 지정하는 것이 좋다.

 

WHERE 절과 HAVIONG 절에는 조인 조건에서 선택된 행을 자세히 필터링하는 검색 조건이 포함될 수 있다.

 

 

조인유형은 다음과 같이 분류할 수 있다.

 

 

내부 조인

 

내부 조인은 비교 연산자(=, <> 등)를 사용하여 각 테이블에서 공통된 열의 값을 기준으로 두 테이블의 행을 일치시킨다.

 

SELECT *

FROM HumanResource.Employee As e

INNER JOIN Person.Contact As C

ON e.ContactID = c.ContactID

ORDER BY c.LastName

 

 

 

외부 조인

 

외부 조인은 왼쪽 외부 조인, 오른쪽 외부 조인, 완전 외부 조인이 있다.

 

외부 조인은 FROM 절에 다음 중 한 키워드 집합이 지정되었을 때 지정된다.

 

- LEFT JOIN 또는 왼쪽 우선 외부 조인

 

왼쪽 우선 외부 조인의 결과 집합에는 조인된 열과 일치하는 행뿐 아니라 LEFT OUTER 절에 지정된 왼쪽 테이블의 모든 행이 포함된다. 오른쪽 테이블에 왼쪽 테이블과 일치하는 행이 없으면 오른쪽 테이블의 모든 선택 목록 열에 대해 관련된 결과 집합 행에는 NULL 값이 포한된다.

 

- RIGHT JOIN 또는 RIGHT OUTER JOIN

 

오른족 외부 조인은 왼쪽 우선 외부 조인과 반대로 오른쪽 테이블의 모든 행이 반환된다. 왼쪽 테이블과 일치하는 행이 없으면 NULL 값이 반환된다.

 

- FULL JOIN 또는 FULL OUTER JOIN

 

완전 외부 조인은 왼쪽 및 오른쪽 테이블의 모든 행을 반환한다. 다른 테이블에 일치하는 행이 없으면 다른 테이블의 선택 목록 열에 NULL 값이 포함되고, 테이블 간에 일치하는 행이 있으면 전체 결과 집합 행에 기본 테이블의 데이터 값이 포함된다.

 

 

 

상호 조인

 

상호 조인은 왼쪽 테이블의 모든 행을 반환하며 왼쪽 테이블의 각 행은 오른쪽 테이블의 모든 행과 결합된다. 상호 조인을 카티션 곱이라고도 한다.

 

SELECT p.SalesPersonID, t.Name As Territory

FROM Sales.SalesPerson P

CROSS JOIN Sales.SalesTerritory t

ORDER BY p.SalesPersonID