그룹화·연습 문제

부서별 사원 수

문제 설명PROBLEM

그룹으로 묶어 집계

특정 컬럼 기준으로 같은 값끼리 묶어, 그룹마다 따로 집계합니다. 조회 항목엔 보통 "묶는 기준 + 집계값"이 옵니다.

과제

부서번호별 사원 수를 조회하세요. (부서번호, 인원수)


📋 사용 데이터

부서 테이블

부서번호부서명지역
10경영서울
20개발판교
30영업부산
40인사대전

사원 테이블 — 수당이 없는 사원은 NULL, 부서 미배정 사원은 부서번호NULL

사원번호이름직급부서번호급여수당입사일
1김철수부장105000NULL2018-03-01
2이영희과장204000NULL2019-06-15
3박민수대리203000NULL2020-01-10
4최지우사원2025005002021-09-01
5정해인과장3038003002019-11-20
6한가인대리302800NULL2020-07-07
7오세훈사원3022004002022-02-14
8신동엽부장105200NULL2017-05-05
9김보검사원NULL2400NULL2023-01-05

결과의 컬럼 이름은 채점하지 않습니다. 값과 행·열의 모양만 맞으면 정답이에요.

SQL 문법 노트와 실수 포인트

그룹화 (GROUP BY / HAVING)

  • GROUP BY 로 같은 값끼리 묶어 그룹별 집계.
  • ⚠️ WHERE vs HAVING: WHERE 는 묶기 전 개별 행(집계함수 불가), HAVING 은 묶은 그룹(집계함수 가능). 실행순서 WHERE → GROUP BY → HAVING.
  • SELECT 엔 보통 '그룹 기준 + 집계함수'만.