본문 바로가기
카테고리 없음

MSSQL JOIN 의 종류 및 조인(JOIN) 에 대한 자세한 설명

by jjanggu1612dev 2024. 12. 17.

MSSQL에서 JOIN은 두 개 이상의 테이블을 연결하여 데이터를 조회하는 중요한 기능입니다. 여러 종류의 JOIN을 사용하여 다양한 방식으로 데이터를 결합할 수 있습니다. 각 JOIN 유형과 그 사용 방법에 대해 자세히 설명하겠습니다.

 

 

MSSQL JOIN

 

 

INNER JOIN

INNER JOIN은 두 테이블에서 지정된 조건에 일치하는 행만을 반환합니다. 이는 가장 일반적으로 사용되는 JOIN 유형입니다.

 

사용방법 

SELECT column1, column2, ...
FROM table1
INNER JOIN table2 ON table1.column = table2.column;

 

 

실사용 예제

SELECT A.EmpID, A.EmpName, A.DeptID, B.DeptName
FROM UserInfoForJoin A
INNER JOIN DeptInfoForJoin B ON A.DeptID = B.DeptID

 

이 쿼리는 UserInfoForJoin 테이블과 DeptInfoForJoin 테이블에서 DeptID가 일치하는 행만 반환합니다.

 

 

 

 

 

LEFT OUTER JOIN (LEFT JOIN)

LEFT JOIN은 왼쪽 테이블의 모든 행과 오른쪽 테이블에서 조건에 맞는 행을 반환합니다. 오른쪽 테이블에 일치하는 행이 없으면 NULL 값이 반환됩니다.

 

사용방법

SELECT column1, column2, ...
FROM table1
LEFT JOIN table2 ON table1.column = table2.column;

 

 

실사용 예제

SELECT A.EmpID, A.EmpName, A.DeptID, B.DeptName
FROM UserInfoForJoin A
LEFT OUTER JOIN DeptInfoForJoin B ON A.DeptID = B.DeptID

 

이 쿼리는 UserInfoForJoin 테이블의 모든 행과 일치하는 DeptInfoForJoin 테이블의 행을 반환합니다.

 

 

 

 

RIGHT OUTER JOIN (RIGHT JOIN)

RIGHT JOIN은 LEFT JOIN의 반대로, 오른쪽 테이블의 모든 행과 왼쪽 테이블에서 조건에 맞는 행을 반환합니다.

 

 

사용방법 

SELECT column1, column2, ...
FROM table1
RIGHT JOIN table2 ON table1.column = table2.column;

 

 

실사용 예제 

SELECT A.EmpID, A.EmpName, A.DeptID, B.DeptID, B.DeptName
FROM UserInfoForJoin A
RIGHT OUTER JOIN DeptInfoForJoin B ON A.DeptID = B.DeptID

 

 

 

 

FULL OUTER JOIN

FULL OUTER JOIN은 양쪽 테이블의 모든 행을 반환하며, 일치하지 않는 행의 경우 NULL 값으로 채웁니다.

 

 

사용방법 

SELECT column1, column2, ...
FROM table1
FULL OUTER JOIN table2 ON table1.column = table2.column;

 

 

 

 

실사용 예제 

 

SELECT A.EmpID, A.EmpName, A.DeptID, B.DeptID, B.DeptName
FROM UserInfoForJoin A
FULL OUTER JOIN DeptInfoForJoin B ON A.DeptID = B.DeptID

 

 

 

 

CROSS JOIN

CROSS JOIN은 두 테이블의 모든 가능한 조합을 반환합니다. 이는 카테시안 곱(Cartesian product)이라고도 합니다.

 

 

사용방법 

SELECT column1, column2, ...
FROM table1
CROSS JOIN table2;

 

 

 

실사용 예제 

SELECT A.EmpID, A.EmpName, A.DeptID, B.DeptID, B.DeptName
FROM UserInfoForJoin A
CROSS JOIN DeptInfoForJoin B;

 

 

 

 

 

 

SELF JOIN

SELF JOIN은 동일한 테이블을 자신과 조인하는 방식입니다. 주로 계층적 데이터나 같은 테이블 내의 관계를 찾을 때 사용됩니다.

 

 

사용방법 

SELECT column1, column2, ...
FROM table1 AS alias1
INNER JOIN table1 AS alias2 ON alias1.column = alias2.column;

 

 

 

실사용 예제 

SELECT A.DeptID, A.DeptName, B.DeptID, B.DeptName
FROM DeptInfoForJoin A, DeptInfoForJoin B