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 |