[sql] LEFT JOIN을 활용한 집계 함수 사용법

데이터베이스에서 두 개의 테이블을 결합하고, 그 결과로 집계 함수를 적용하는 것은 매우 일반적입니다. 특히, LEFT JOIN을 사용하여 한 테이블의 모든 레코드와 다른 테이블의 매칭되는 레코드를 포함할 수 있습니다. 이 글에서는 LEFT JOIN과 함께 사용되는 일부 일반적인 집계 함수에 대해 살펴보겠습니다.

LEFT JOIN과 함께 사용되는 집계 함수

COUNT 함수

SELECT column_name, COUNT(table2.column_name) 
FROM table1
LEFT JOIN table2 ON table1.id = table2.id
GROUP BY column_name;

위의 쿼리는 table1의 각 레코드와 table2의 매칭되는 레코드 수를 세는 것을 보여줍니다.

SUM 함수

SELECT column_name, SUM(table2.amount) 
FROM table1
LEFT JOIN table2 ON table1.id = table2.id
GROUP BY column_name;

위의 쿼리는 table2.amount의 값을 table1의 각 그룹에 대해 합하는 예시입니다.

AVG 함수

SELECT column_name, AVG(table2.value) 
FROM table1
LEFT JOIN table2 ON table1.id = table2.id
GROUP BY column_name;

위의 쿼리는 table2.value의 값을 table1의 각 그룹에 대해 평균내는 방법을 보여줍니다.

MAX 함수

SELECT column_name, MAX(table2.date) 
FROM table1
LEFT JOIN table2 ON table1.id = table2.id
GROUP BY column_name;

위의 쿼리는 각 그룹의 최대 날짜를 찾는 것을 나타냅니다.

요약

LEFT JOIN과 집계 함수를 함께 사용하면 두 개의 테이블을 효율적으로 결합하고, 원하는 데이터의 집계를 신속하게 수행할 수 있습니다. 경우에 따라 효율적인 쿼리 작성을 위해 인덱스를 고려하는 것이 좋습니다.

참고 문헌: