https://school.programmers.co.kr/learn/courses/30/lessons/284528
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 풀이
- HR_EMPLOYEES 테이블과 HR_GRADE 테이블을 조인한다.
- 이때 HR_GRADE 테이블은 서브 쿼리로 평가 등급을 구해야 한다. 사번을 기준으로 그룹핑하고, 평가 점수의 평균에 따라 S, A, B, C 중 하나로 조회한다.
- 사번, 성명, 평가 등급, 성과금을 조회한다. 성과금은 서브 쿼리에서 조회한 등급에 맞게 알맞은 값으로 계산해 준다.
- 사번을 기준으로 오름차순 정렬한다.
SELECT
E.EMP_NO,
E.EMP_NAME,
G.GRADE,
CASE
WHEN G.GRADE = 'S' THEN E.SAL * 0.2
WHEN G.GRADE = 'A' THEN E.SAL * 0.15
WHEN G.GRADE = 'B' THEN E.SAL * 0.10
ELSE 0
END AS BONUS
FROM
HR_EMPLOYEES E JOIN (
SELECT EMP_NO, CASE
WHEN AVG(SCORE) >= 96 THEN 'S'
WHEN AVG(SCORE) >= 90 THEN 'A'
WHEN AVG(SCORE) >= 80 THEN 'B'
ELSE 'C'
END AS GRADE
FROM HR_GRADE
GROUP BY EMP_NO
) AS G ON E.EMP_NO = G.EMP_NO
ORDER BY 1'SQL > GROUP BY' 카테고리의 다른 글
| [프로그래머스 SQL] Lv.4 - 언어별 개발자 분류하기 (0) | 2025.04.10 |
|---|---|
| [프로그래머스 SQL] Lv.4 - 입양 시각 구하기(2) (0) | 2025.04.03 |
| [프로그래머스 SQL] Lv.4 - 년,월,성별 별 상품 구매 회원 수 구하기 (1) | 2025.04.01 |
| [프로그래머스 SQL] Lv.4 - 식품분류별 가장 비싼 식품의 정보 조회하기 (0) | 2025.03.31 |
| [프로그래머스 SQL] Lv.4 - 저자 별 카테고리 별 매출액 집계하기 (0) | 2025.03.29 |