조건부 집계·연습 문제

부서별 급여 구간 피벗

문제 설명PROBLEM

행 조건을 여러 집계 컬럼으로 펼치기

조건부 집계를 여러 번 사용하면 한 그룹의 서로 다른 범주를 각각의 컬럼으로 펼칠 수 있습니다.

과제

모든 부서의 부서명, 고액 인원, 중간 인원, 저액 인원을 조회하세요. 고액은 급여 4000 이상, 중간은 3000 이상 4000 미만, 저액은 3000 미만입니다. 사원이 없는 부서는 세 값 모두 0이어야 합니다.


📋 사용 데이터

부서 테이블

부서번호부서명지역
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 문법 노트와 실수 포인트

조건부 집계

  • SUM(CASE WHEN 조건 THEN 1 ELSE 0 END)로 그룹 안에서 조건에 맞는 행만 셉니다.
  • LEFT JOIN 뒤에는 연결 실패로 생긴 NULL 행을 잘못 세지 않도록 조건을 확인하세요.