본문으로 건너뛰기
실습하기

JOIN과 집계 함수

실무에서 SQL을 사용할 때는 여러 테이블을 Join한 뒤 COUNT(), SUM(), AVG() 같은 집계 함수로 결과를 요약하는 일이 흔합니다.

이를 통해 다음과 같은 질문에 답할 수 있습니다.

  • 각 학생이 수강 중인 과목 수
  • 각 고객이 만들어 낸 매출액
  • 과목별 평균 성적은 얼마인지

JOIN과 집계 함수 예시

예를 들어, 다음과 같은 테이블이 있다고 해봅시다.

students

student_idname
1민준
2서연
3지호

enrollments

student_idclass_id
1A1
1B2
2C3

아래는 JOIN집계 함수를 함께 사용하는 예시입니다.

COUNT 집계와 JOIN
SELECT 
students.name,
COUNT(enrollments.class_id) AS class_count
FROM students
LEFT JOIN enrollments
ON students.student_id = enrollments.student_id
GROUP BY students.name;

쿼리 결과:

이 쿼리는 각 학생이 수강 중인 과목 수를 반환합니다.

nameclass_count
민준2
서연1
지호0

LEFT JOIN을 사용하면 수강 내역이 없는 학생도 결과에 포함됩니다. COUNT(enrollments.class_id)는 각 학생이 수강 중인 과목의 개수를 셉니다.


JOIN + 집계 패턴

아래는 자주 쓰이는 Join과 집계 패턴입니다.

목표Join 유형집계 함수
관련 항목 개수 세기LEFT JOINCOUNT()
관련 값 합계 구하기JOINSUM()
관련 항목에서 평균 구하기JOINAVG()
여러 관계를 한 번에 요약제한 없음GROUP BY와 함께

JOIN과 집계를 결합하면 다음을 할 수 있습니다.

  • 완전하고 의미 있는 보고서 작성
  • 관계 전반의 성과 추적
  • 비즈니스 인사이트와 지표 생성

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!