JOIN을 사용하여 중첩된 데이터 조회하기

관계형 데이터베이스에서 중첩된 데이터를 조회할 때 JOIN 절을 사용할 수 있습니다. JOIN은 두 개 이상의 테이블을 연결하여 데이터를 검색하는 방법을 제공합니다. 이를 통해 다른 테이블에 저장된 데이터를 함께 조회할 수 있습니다.

INNER JOIN

가장 일반적인 JOIN 유형은 INNER JOIN입니다. INNER JOIN은 조인하려는 두 테이블에서 일치하는 행만 반환합니다. 예를 들어, “주문” 테이블과 “상품” 테이블이 있을 때, INNER JOIN을 사용하여 주문한 상품에 대한 정보를 가져올 수 있습니다.

SELECT 주문.주문번호, 상품.상품명
FROM 주문
INNER JOIN 상품 ON 주문.상품번호 = 상품.상품번호;

위의 SQL 쿼리는 주문 테이블과 상품 테이블을 INNER JOIN하여 주문번호와 상품명을 반환합니다. INNER JOIN 절에서는 두 테이블 간의 관계를 지정하고 일치하는 열을 기준으로 데이터를 결합합니다.

LEFT JOIN

또 다른 JOIN 유형은 LEFT JOIN입니다. LEFT JOIN은 왼쪽 테이블의 모든 행을 반환하고, 오른쪽 테이블과 일치하는 경우에만 오른쪽 테이블의 데이터를 함께 조회합니다. 일치하지 않는 경우, NULL 값으로 결과를 채웁니다.

SELECT 주문.주문번호, 상품.상품명
FROM 주문
LEFT JOIN 상품 ON 주문.상품번호 = 상품.상품번호;

위의 SQL 쿼리는 주문 테이블과 상품 테이블을 LEFT JOIN하여 주문번호와 상품명을 반환합니다. LEFT JOIN 절에서는 왼쪽 테이블의 모든 행을 유지하면서 오른쪽 테이블과 일치하는 행을 함께 가져옵니다.

RIGHT JOIN

RIGHT JOIN은 LEFT JOIN과 반대로 동작합니다. RIGHT JOIN은 오른쪽 테이블의 모든 행을 반환하고, 왼쪽 테이블과 일치하는 경우에만 왼쪽 테이블의 데이터를 함께 조회합니다. 일치하지 않는 경우에도 NULL 값으로 결과를 채웁니다.

SELECT 주문.주문번호, 상품.상품명
FROM 주문
RIGHT JOIN 상품 ON 주문.상품번호 = 상품.상품번호;

위의 SQL 쿼리는 주문 테이블과 상품 테이블을 RIGHT JOIN하여 주문번호와 상품명을 반환합니다. RIGHT JOIN 절에서는 오른쪽 테이블의 모든 행을 유지하면서 왼쪽 테이블과 일치하는 행을 함께 가져옵니다.

Conclusion

JOIN을 사용하여 중첩된 데이터를 조회하는 방법에 대해 알아보았습니다. INNER JOIN, LEFT JOIN, RIGHT JOIN을 적절히 사용하여 테이블 간의 연관 정보를 효과적으로 가져올 수 있습니다. 데이터베이스의 JOIN은 복잡한 데이터 조작을 가능하게 하여 데이터 분석 및 처리에 큰 도움이 됩니다.

더 많은 정보를 원하시면 “#데이터베이스”와 “#SQL” 해시태그를 참고하세요.

References