데이터베이스 Full Outer Join

From CS Wiki

Full Outer Join

Full Join(또는 Full Outer Join)은 두 테이블의 모든 행을 반환하는 조인 방식이다. 두 테이블 간의 일치하는 데이터를 조인하고, 일치하지 않는 데이터도 포함된다.

Full Join의 동작 방식[edit | edit source]

  • Full Join왼쪽 테이블오른쪽 테이블 모두에서 일치하는 행을 반환한다.
  • 만약 한 테이블에서 일치하는 값이 없으면, 해당 행에 대한 다른 테이블의 열 값은 NULL로 채워진다.

예시[edit | edit source]

SELECT * 
FROM Employees e
FULL JOIN Departments d ON e.department_id = d.department_id;

이 쿼리는 Employees 테이블과 Departments 테이블의 모든 데이터를 반환한다.

  • 일치하는 행: 두 테이블에서 공통된 department_id 값을 가진 행은 결합되어 표시된다.
  • 일치하지 않는 행: 한 테이블에서만 존재하는 행도 반환되며, 해당 테이블과 일치하는 값이 없는 경우 NULL로 채워진다.

예시 결과[edit | edit source]

가령, 다음과 같은 데이터가 있을 때:

Employees:

employee_id name department_id
1 Alice 101
2 Bob 102
3 Charlie NULL

Departments:

department_id department_name
101 HR
103 Marketing

Full Join의 결과는 다음과 같습니다:

employee_id name department_id department_name
1 Alice 101 HR
2 Bob 102 NULL
3 Charlie NULL NULL
NULL NULL 103 Marketing