코드 공부
[오늘의 코드 44] [프로그래머스] 조건에 맞는 사원 정보 조회하기
eun_00
2024. 5. 7. 19:55
https://school.programmers.co.kr/learn/courses/30/lessons/284527
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[ 문제 ]
HR_DEPARTMENT, HR_EMPLOYEES, HR_GRADE 테이블에서 2022년도 한해 평가 점수가 가장 높은 사원 정보를 조회하려 합니다. 2022년도 평가 점수가 가장 높은 사원들의 점수, 사번, 성명, 직책, 이메일을 조회하는 SQL문을 작성해주세요.
2022년도의 평가 점수는 상,하반기 점수의 합을 의미하고, 평가 점수를 나타내는 컬럼의 이름은 SCORE로 해주세요.
[ 정답 ]
SELECT SUM(HG.SCORE) AS SCORE,
HE.EMP_NO, HE.EMP_NAME, HE.POSITION, HE.EMAIL
FROM HR_EMPLOYEES AS HE
INNER JOIN HR_DEPARTMENT AS HD
ON HE.DEPT_ID = HD.DEPT_ID
INNER JOIN HR_GRADE AS HG
ON HE.EMP_NO = HG.EMP_NO
WHERE HG.YEAR = 2022
GROUP BY HE.EMP_NO
ORDER BY SCORE DESC
LIMIT 1;
💡 알게된 것
- LIMIT 맨 나중에.
- 처음에 상반기인 HALF_YEAR 1과 하반기인 2의 변수 값들을 먼저 더해줘서 score을 나타내야하나 복잡하다 생각했는데,
EMP_NO로 group by를 해주고 바로 sum(score)을 해주니 해결되었다.
- HR_DEPARTMENT 조인은 하지 않아도 무방하다.