[sql] 테이블 조인 시 NULL 값 처리 방법

관계형 데이터베이스에서 두 개 이상의 테이블을 조인할 때 NULL 값 처리는 중요한 과제입니다. NULL 값은 데이터가 없음을 나타내는 데, 이를 조인할 때 적절하게 처리하지 않으면 원하는 결과를 얻지 못할 수 있습니다.

1. INNER JOIN 사용

INNER JOIN을 사용하면 NULL 값을 가진 행은 결과에서 제외됩니다. 즉, 양쪽 테이블에 일치하는 데이터가 있는 경우에만 결과에 포함됩니다.

SELECT * 
FROM table1 
INNER JOIN table2 ON table1.id = table2.id;

2. LEFT JOIN 사용

LEFT JOIN을 사용하면 왼쪽 테이블의 모든 행을 결과에 포함시키고, 오른쪽 테이블의 일치하는 행이 없는 경우에는 NULL을 채웁니다.

SELECT * 
FROM table1 
LEFT JOIN table2 ON table1.id = table2.id;

3. RIGHT JOIN 사용

RIGHT JOIN을 사용하면 오른쪽 테이블의 모든 행을 결과에 포함시키고, 왼쪽 테이블의 일치하는 행이 없는 경우에는 NULL을 채웁니다.

SELECT * 
FROM table1 
RIGHT JOIN table2 ON table1.id = table2.id;

4. FULL JOIN 사용

FULL JOIN은 두 테이블 중 하나에라도 일치하는 데이터가 있는 경우에는 모두 결과에 포함시킵니다. 일치하는 데이터가 없는 경우에는 NULL을 채웁니다.

SELECT * 
FROM table1 
FULL JOIN table2 ON table1.id = table2.id;

테이블 조인 시에는 데이터의 특성과 필요에 따라 적절한 조인 방식을 선택하여 NULL 값을 적절하게 처리해야 합니다.

참고 자료