집계 함수(SUM, COUNT 등)가 무조건 전체 데이터를 하나로 뭉친다면, GROUP BY는 데이터를 특정 기준에 따라 끼리끼리 그룹화한 뒤 집계합니다. 예를 들어 "부서별" 평균 급여, "월별" 가입자 수를 구할 때 필수적입니다.
💡 핵심 비유
동전 분류기 한 뭉치의 동전을 기계에 넣으면 100원짜리, 500원짜리 등 종류별로 각각의 통에 나누어 담아주는 것과 똑같습니다.
🧩 원리 이해하기
Script-1.sql
1
-- ROLE(직무)별로 묶어서(GROUP BY),
-- 각 직무마다 몇 명이 있는지, 평균 급여는 얼마인지 계산합니다.
SELECT ROLE,
COUNT(1) AS EMP_CNT,
AVG(SALARY) AS AVG_SAL
FROM EMPLOYEES
GROUP BY ROLE;