본문 바로가기

Program/MSSQL

MSSQL FULL JOIN

 

MS SQL에서 FULL JOIN은 두 개의 테이블을 결합하는 방법 중 하나입니다. FULL JOIN은 왼쪽 테이블(LEFT JOIN)과 오른쪽 테이블(RIGHT JOIN)의 모든 레코드를 포함하며, 매치되는 레코드가 없는 경우에는 NULL 값을 갖습니다.

이해를 돕기 위해 간단한 예를 들어보겠습니다. 두 개의 테이블 Table1과 Table2가 있다고 가정합시다.

  • Table1에는 컬럼 A와 B가 있습니다.
  • Table2에는 컬럼 C와 D가 있습니다.

Table1과 Table2를 FULL JOIN으로 결합한다면, 결합 기준이 되는 컬럼(예: Table1.A = Table2.C)에 따라 두 테이블의 모든 레코드가 포함됩니다. 어떤 레코드가 한쪽 테이블에만 존재하고 다른 쪽 테이블에는 존재하지 않는 경우, 해당 레코드는 NULL 값을 가지게 됩니다.

예시 SQL 쿼리:

 

SELECT *
FROM Table1
FULL JOIN Table2
ON Table1.A = Table2.C;

 

 

이 쿼리는 Table1의 모든 레코드와 Table2의 모든 레코드를 결합합니다.

 

만약 Table1.A와 Table2.C가 일치하는 레코드가 있다면, 해당 레코드는 결합되어 결과에 표시됩니다. 일치하는 레코드가 없는 경우, 해당 필드는 NULL로 표시됩니다.

FULL JOIN은 두 테이블 간의 모든 가능한 조합을 탐색하므로, 매우 큰 테이블에서 사용할 때는 성능에 주의해야 합니다.