
JOIN 연산자는 여러 테이블을 결합하여 하나의 결과 집합을 반환하는 데 사용됩니다. INNER JOIN은 JOIN 연산자의 한 종류로, 두 테이블 간에 공통된 행을 찾는 데 사용됩니다.
INNER JOIN은 결과 집합에 공통된 행이 없는 경우에는 반환하지 않습니다. 반면에 LEFT JOIN, RIGHT JOIN, FULL JOIN은 공통된 행이 없는 경우에도 반환합니다.
LEFT JOIN은 왼쪽 테이블의 모든 행을 반환하고, 오른쪽 테이블의 공통된 행이 없는 경우 NULL 값을 반환합니다. RIGHT JOIN은 오른쪽 테이블의 모든 행을 반환하고, 왼쪽 테이블의 공통된 행이 없는 경우 NULL 값을 반환합니다.
FULL JOIN은 두 테이블의 모든 행을 반환하고, 공통된 행이 없는 경우 NULL 값을 반환합니다. FULL JOIN은 LEFT JOIN과 RIGHT JOIN의 결합으로 생각할 수 있습니다.
LEFT JOIN, RIGHT JOIN, FULL JOIN은 다음과 같은 상황에서 사용하는 것이 좋습니다.
- 왼쪽 테이블의 모든 행을 반환하고, 오른쪽 테이블의 공통된 행이 없는 경우 NULL 값을 반환해야 할 때 LEFT JOIN을 사용합니다.
- 오른쪽 테이블의 모든 행을 반환하고, 왼쪽 테이블의 공통된 행이 없는 경우 NULL 값을 반환해야 할 때 RIGHT JOIN을 사용합니다.
- 두 테이블의 모든 행을 반환하고, 공통된 행이 없는 경우 NULL 값을 반환해야 할 때 FULL JOIN을 사용합니다.
예를 들어, 다음과 같은 테이블이 있다고 가정해 보겠습니다.
| 이름 | 나이 |
| --- | --- |
| John | 25 |
| Mary | 31 |
| 이름 | 성별 |
| --- | --- |
| John | 남성 |
| Jane | 여성 |
LEFT JOIN을 사용하면 다음과 같은 결과가 반환됩니다.
| 이름 | 나이 | 성별 |
| --- | --- | --- |
| John | 25 | 남성 |
| Mary | 31 | NULL |
| Jane | NULL | 여성 |
RIGHT JOIN을 사용하면 다음과 같은 결과가 반환됩니다.
| 이름 | 나이 | 성별 |
| --- | --- | --- |
| John | 25 | 남성 |
| NULL | NULL | 여성 |
| NULL | NULL | 여성 |
FULL JOIN을 사용하면 다음과 같은 결과가 반환됩니다.
| 이름 | 나이 | 성별 |
| --- | --- | --- |
| John | 25 | 남성 |
| Mary | 31 | NULL |
| Jane | NULL | 여성 |
따라서, LEFT JOIN, RIGHT JOIN, FULL JOIN은 다음과 같은 상황에서 사용하는 것이 좋습니다.
2025-05-31 10:26