[sql] GROUP BY 절과 함께 사용되는 JOIN 절

SQL에서 데이터베이스 테이블을 조인하고 그 결과를 그룹화할 때 GROUP BY 절과 JOIN 절을 함께 사용하는 경우가 많습니다. GROUP BY 절은 집계 함수를 사용하여 그룹화된 결과를 반환하고, JOIN 절은 여러 테이블 간의 관계를 정의합니다.

INNER JOIN과 GROUP BY

INNER JOIN을 사용하여 두 개 이상의 테이블을 연결하고, GROUP BY를 사용하여 결과를 그룹화할 수 있습니다. 이를 통해 연관된 항목을 그룹화하고, 각 그룹에 대한 집계를 수행할 수 있습니다.

예를 들어, 주문 테이블과 제품 테이블이 있다고 가정해봅시다. 제품ID를 기준으로 두 테이블을 INNER JOIN하고, 주문 수량을 제품별로 합산하기 위해 GROUP BY를 사용할 수 있습니다.

SELECT 제품.제품명, SUM(주문.수량) AS 총주문량
FROM 제품
INNER JOIN 주문 ON 제품.제품ID = 주문.제품ID
GROUP BY 제품.제품명;

LEFT JOIN과 GROUP BY

LEFT JOIN을 사용하여 왼쪽 테이블을 기준으로 다른 테이블을 연결하고, GROUP BY를 사용하여 결과를 그룹화할 수 있습니다. 이를 통해 왼쪽 테이블의 모든 항목과 연관된 오른쪽 테이블의 데이터를 그룹화할 수 있습니다.

예를 들어, 부서 테이블과 직원 테이블이 있다고 가정해봅시다. 부서별 직원 수를 계산하기 위해 LEFT JOIN과 GROUP BY를 사용할 수 있습니다.

SELECT 부서.부서명, COUNT(직원.직원ID) AS 직원수
FROM 부서
LEFT JOIN 직원 ON 부서.부서ID = 직원.부서ID
GROUP BY 부서.부서명;

참조