JOIN은 SQL에서 관련된 값을 가진 열을 기준으로 두 개 이상의 테이블에서 행을 결합하는 데 사용되는 구문입니다. 주요 목적은 완전하고 포괄적인 정보를 가진 단일 데이터 세트를 얻는 것입니다. 여기서 “완전하다”는 것은 테이블 간의 관계에서 나온 열들의 결합을 통해 얻은 데이터 구조를 의미합니다.
다양한 데이터 검색 요구를 충족하기 위해 JOIN 명령은 OUTER JOIN, INNER JOIN, RIGHT JOIN, LEFT JOIN과 같은 여러 유형으로 나뉩니다.
SQL JOIN 유형 간의 차이점
다음은 다양한 JOIN 구문에 대한 설명과 예시 구문으로, 차이점을 이해하는 데 도움을 드립니다.
1. FULL OUTER JOIN
Outer join(또는 Full Outer Join)은 결합되는 두 테이블 모두에서 일치하는 값이 있든 없든 모든 레코드(행)를 반환합니다. 두 테이블 사이에 일치하는 데이터가 없으면 결합 결과에서 누락된 쪽은 자동으로 NULL 값으로 채워집니다.
구문:
SQL
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;
2. LEFT JOIN
Left Join은 결합되는 두 테이블 중 왼쪽 테이블(첫 번째 테이블)의 모든 레코드를 반환하는 연산입니다. 왼쪽 테이블의 값이 오른쪽 테이블(두 번째 테이블)의 데이터와 일치하지 않더라도 왼쪽 테이블의 모든 데이터는 유지되어 표시됩니다. 일치하는 항목이 없는 오른쪽 테이블의 데이터는 NULL로 대체됩니다.
구문:
SQL
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
3. RIGHT JOIN (보충)
Left Join의 반대 개념으로, Right Join 구문은 오른쪽 테이블(두 번째 테이블)의 모든 레코드와 함께 왼쪽 테이블에서 일치하는 데이터를 반환합니다. 왼쪽 테이블에 일치하는 데이터가 없으면 왼쪽 측의 결과는 NULL이 됩니다.
구문:
SQL
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;
4. INNER JOIN (보충)
Inner Join은 가장 자주 사용되는 구문 유형입니다. Outer Join과 달리 Inner Join은 더 엄격하게 작동하여 결합되는 두 테이블 모두에 일치하는 데이터(교집합)가 있는 행만 반환합니다.
구문:
SQL
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;






