본문 바로가기

SQL

[SQL 챌린지] 해커랭크 정복하기 Day 8

✍ 제 머리로 코드를 짜내기 위한 챌린지입니다. (그동안 습관적으로 discussion창을 보곤 했거든요..)

 

🚀 이 포스팅 보신분 챌린지에 함께해요🤗 (함께하면 기쁨도 두 배! 서로 온라인 메이트가 되어보아요.)


[문제] 

[The Blunder]


사만다씨가 전 직원의 월평균 급여를 계산하는 업무를 맡고 있었는데,

다 계산하고 나서야 키보드의 '0' 키가 고장났다는 것을 알습니다. 

사만다씨가 자신이 잘못 계산한 결과와 실제 전 직원 월평균 급여의 차이를 물어봅니다.

단, 반올림한 정수로 조회하세요.

본래 테이블 모습
사만다씨가 잘못 입력한 테이블

 

 

[풀이]

[Oracle] 

 

SELECT CEIL(AVG(SALARY) - AVG(REPLACE(SALARY,0,'')))
FROM EMPLOYEES;

평균 구하는 함수 AVG

사만다가 잘못 입력한 0을 대체하는 함수 REPLACE - 위의 코드 해석하자면 SALARY칼럼에 0을 ''으로 대체하라 

✍ 그리고 이 계산 전체에 가장 가까운 정수로 반올림해서 반환하는 함수 CEIL 씌워주기