[sql] FULL JOIN을 활용한 데이터 그룹화
보통 INNER JOIN 또는 LEFT JOIN을 사용하여 데이터를 결합하거나 그룹화하지만, 때로는 FULL JOIN이 필요할 수 있습니다. FULL JOIN은 양쪽 테이블의 모든 레코드를 보여줍니다. 왼쪽 테이블과 오른쪽 테이블의 연결되지 않은 레코드도 포함하여 결과를 반환합니다.
FULL JOIN의 사용 예시
아래의 예시를 통해 FULL JOIN이 어떻게 활용되는지 살펴보겠습니다.
SELECT *
FROM 테이블1
FULL JOIN 테이블2
ON 테이블1.공통컬럼 = 테이블2.공통컬럼;
위의 쿼리는 테이블1과 테이블2를 공통 컬럼을 기준으로 FULL JOIN하여 모든 레코드를 포함하는 결과를 반환합니다.
FULL JOIN 결과 분석
- 공통 컬럼에서 일치하는 값을 가진 레코드: 이 레코드들은 정상적으로 결합되며 결과 집합에 포함됩니다.
- 왼쪽 테이블의 레코드 중에서 오른쪽 테이블과 일치하지 않는 레코드: 이러한 레코드들은 NULL 값을 가진 오른쪽 테이블의 컬럼을 반환합니다.
- 오른쪽 테이블의 레코드 중에서 왼쪽 테이블과 일치하지 않는 레코드: 왼쪽 테이블의 레코드가 NULL 값을 가집니다.
FULL JOIN을 사용하면 양쪽 테이블의 모든 레코드를 유지하면서 데이터를 그룹화할 수 있습니다.