데이터베이스 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 |