많은 경우 데이터베이스나 데이터 프레임에서 중복된 데이터를 처리해야 합니다. 이때 JOIN 연산을 사용하면 효과적으로 중복 데이터를 정합할 수 있습니다. JOIN은 다양한 종류가 있지만, 이 기사에서는 SQL을 예제로 사용하여 JOIN을 사용한 중복 데이터 정합 방법을 알아보겠습니다.
내부 조인 (INNER JOIN)
내부 조인은 두 개의 테이블에서 공통된 값을 기준으로 데이터를 정합하는 방법입니다. 예를 들어, ‘고객’ 테이블과 ‘주문’ 테이블이 있다고 가정해봅시다. ‘고객’ 테이블의 ‘고객ID’와 ‘주문’ 테이블의 ‘고객ID’를 기준으로 데이터를 정합하려면 다음과 같은 SQL 쿼리를 사용할 수 있습니다.
SELECT *
FROM 고객
INNER JOIN 주문
ON 고객.고객ID = 주문.고객ID;
이 쿼리는 ‘고객’ 테이블과 ‘주문’ 테이블에서 공통된 ‘고객ID’ 값을 가지고 있는 행들을 정합하여 반환합니다. 결과로는 고객 정보와 해당 고객이 주문한 주문 정보가 포함된 테이블이 반환됩니다.
외부 조인 (OUTER JOIN)
외부 조인은 내부 조인과는 달리 조인 기준에 맞지 않는 행들도 포함하여 데이터를 정합하는 방법입니다. LEFT OUTER JOIN과 RIGHT OUTER JOIN 두 가지 유형이 있습니다.
LEFT OUTER JOIN은 왼쪽 테이블의 모든 행을 포함하고, 오른쪽 테이블에서 조인 기준에 맞는 행만 포함합니다. 예를 들어, ‘고객’ 테이블을 기준으로 ‘주문’ 테이블을 LEFT OUTER JOIN한다면 다음과 같은 SQL 쿼리를 사용할 수 있습니다.
SELECT *
FROM 고객
LEFT OUTER JOIN 주문
ON 고객.고객ID = 주문.고객ID;
결과로는 ‘고객’ 테이블의 모든 행과 해당 고객이 주문한 주문 정보가 포함된 테이블이 반환됩니다. 조인 기준에 맞지 않는 경우에는 해당 칼럼에는 NULL 값이 들어갑니다.
RIGHT OUTER JOIN은 왼쪽 테이블에서 조인 기준에 맞지 않는 행도 포함하여 오른쪽 테이블의 모든 행을 포함하는 방식입니다. LEFT OUTER JOIN과 비슷하게 SQL 쿼리를 작성할 수 있습니다.
요약
JOIN 연산은 중복된 데이터를 효과적으로 정합하기 위한 강력한 도구입니다. 내부 조인은 두 테이블에서 공통된 값을 기준으로 데이터를 정합하며, 외부 조인은 정합 기준에 맞지 않는 행도 포함하여 데이터를 정합합니다.
위에서는 SQL을 예시로 사용했지만, 데이터 프레임에서도 같은 원리로 JOIN 연산을 수행할 수 있습니다. 데이터 정합이 필요한 경우 JOIN 연산을 사용해보세요!
참고 자료:
#데이터분석 #SQL