학습 자료

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과 집계를 결합하면 다음을 할 수 있습니다.

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

LEFT JOIN을 사용하면, 어떤 수업에도 등록하지 않은 학생이라도 수강 중인 수업 수를 집계할 때 모든 학생을 결과에 포함시킬 수 있다.

학습 자료

AI 튜터

디자인

업로드

수업 노트

즐겨찾기

도움말

코드 에디터

코드 실행
코드 생성

DB 테이블 구조

실행 결과