
INNER JOIN은 두 테이블에서 공통된 값을 기준으로 데이터를 결합합니다. 예를 들어, A와 B 테이블에서 ID 컬럼을 기준으로 INNER JOIN을 수행하면 ID가 동일한 레코드만을 결과로 반환합니다.
테이블 A
| ID | Name | Age |
|---|---|---|
| 1 | Alice | 25 |
| 2 | Bob | 30 |
| 3 | Charlie | 22 |
테이블 B
| ID | City |
|---|---|
| 1 | New York |
| 2 | London |
| 4 | Paris |
INNER JOIN 결과
| ID | Name | Age | City |
|---|---|---|---|
| 1 | Alice | 25 | New York |
| 2 | Bob | 30 | London |
LEFT JOIN은 왼쪽 테이블(A)의 모든 레코드를 포함하고, 오른쪽 테이블(B)과 공통된 값이 있으면 해당 레코드를 결합합니다. 공통된 값이 없는 경우에는 오른쪽 테이블 컬럼들은 NULL로 채워집니다.
LEFT JOIN 결과
| ID | Name | Age | City |
|---|---|---|---|
| 1 | Alice | 25 | New York |
| 2 | Bob | 30 | London |
| 3 | Charlie | 22 | NULL |
RIGHT JOIN은 LEFT JOIN과 반대로 오른쪽 테이블(B)의 모든 레코드를 포함하고, 왼쪽 테이블(A)과 공통된 값이 있으면 해당 레코드를 결합합니다. 공통된 값이 없는 경우에는 왼쪽 테이블 컬럼들이 NULL로 채워집니다.
RIGHT JOIN 결과
| ID | Name | Age | City |
|---|---|---|---|
| 1 | Alice | 25 | New York |
| 2 | Bob | 30 | London |
| 4 | NULL | NULL | Paris |
FULL OUTER JOIN은 LEFT JOIN과 RIGHT JOIN의 결과를 합친 것으로, 두 테이블 모두에 공통된 값이 있든 없든 상관없이 모든 레코드를 포함합니다. 공통된 값이 없는 경우에는 해당 쪽 테이블 컬럼들이 NULL로 채워집니다.
FULL OUTER JOIN 결과
| ID | Name | Age | City |
|---|---|---|---|
| 1 | Alice | 25 | New York |
| 2 | Bob | 30 | London |
| 3 | Charlie | 22 | NULL |
| 4 | NULL | NULL | Paris |