[sql] INNER JOIN과 RIGHT JOIN의 차이점
데이터베이스에서 INNER JOIN과 RIGHT JOIN은 두 가지 다른 유형의 조인이며, 각각 다른 방식으로 테이블을 조인합니다. 이 글에서는 이 두 조인의 차이점에 대해 알아보겠습니다.
INNER JOIN
INNER JOIN은 지정된 두 개의 테이블에서 일치하는 행을 결합하는 데 사용됩니다. 해당하는 행이 없는 경우 조인되지 않습니다. 즉, INNER JOIN은 조인되는 두 테이블 간의 교집합을 반환합니다.
SELECT *
FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name;
위 예시에서 table1
과 table2
의 column_name
이 일치하는 행만 반환됩니다.
RIGHT JOIN
RIGHT JOIN은 오른쪽 테이블의 모든 레코드와, 왼쪽 테이블에서 일치하는 레코드를 조인합니다. 일치하는 레코드가 없는 경우에도 오른쪽 테이블의 모든 레코드를 반환하며, 없는 부분은 NULL 값으로 채워집니다.
SELECT *
FROM table1
RIGHT JOIN table2 ON table1.column_name = table2.column_name;
위 예시에서는 table2
에서 일치하는 레코드와, table1
의 해당하는 레코드가 조인됩니다. 또한, table2
의 모든 레코드는 결과에 포함되며, table1
과 일치하는 부분이 없을 경우에는 NULL 값으로 채워집니다.
결론
INNER JOIN은 두 테이블 간의 교집합을 반환하며, LEFT JOIN은 오른쪽 테이블을 기준으로 조인하여 왼쪽 테이블의 일치하지 않는 행도 포함합니다.
이렇게 INNER JOIN과 RIGHT JOIN은 각각 다른 방식으로 테이블을 조인하는데, 해당하는 상황에 맞게 적절하게 사용할 수 있습니다.