[프로그래머스][SQL] 조건에 맞는 사원 정보 조회하기

Eunding·2024년 3월 1일
0

SQL 고득점 Kit

목록 보기
58/62

조건에 맞는 사원 정보 조회하기

https://school.programmers.co.kr/learn/courses/30/lessons/284527#qna

문제

HR_DEPARTMENT, HR_EMPLOYEES, HR_GRADE 테이블에서 2022년도 한해 평가 점수가 가장 높은 사원 정보를 조회하려 합니다. 2022년도 평가 점수가 가장 높은 사원들의 점수, 사번, 성명, 직책, 이메일을 조회하는 SQL문을 작성해주세요.

2022년도의 평가 점수는 상,하반기 점수의 합을 의미하고, 평가 점수를 나타내는 컬럼의 이름은 SCORE로 해주세요.

예시

풀이

1. 테이블 JOIN
=> HR_DEPARTMENT 테이블은 이 문제에서 필요없다.
=> EMP_NO로 HR_EMPLOYEES 테이블과 HR_GRADE 테이블을 INNER JOIN
2. 2022년도 점수 계산
=> YEAR, EMP_NO로 그룹화하고 HAVING 절로 2022년 조건 걸어줬다.(상,하반기 합쳐야함)
3. 점수가 가장 높은 사원 정보 조회
=> SCORE 컬럼으로 SUM(SCORE)
=> SCORE 내림차순 정렬 후, LIMIT으로 1개만 출력

SELECT SUM(SCORE) AS SCORE, G.EMP_NO, E.EMP_NAME, E.POSITION, E.EMAIL
FROM HR_EMPLOYEES E
    INNER JOIN HR_GRADE G ON E.EMP_NO = G.EMP_NO
GROUP BY YEAR, EMP_NO
HAVING G.YEAR = '2022'
ORDER BY 1 DESC
LIMIT 1;
profile
안녕하세요~

0개의 댓글