더북(TheBook)

결과를 보면 부서별로 총 사원 수, 총 급여, 평균 급여가 조회됐습니다. 여기서 최종으로 구하려는 값은 부서별 총 급여의 평균입니다. 즉, 부서별로 총 급여를 구하고 이를 모두 더한 뒤 부서 수로 나눈 평균을 구하고자 합니다. 그런데 결과에 나온 dept_avg의 값은 언뜻 보기에도 부서의 총 급여라기에는 금액이 너무 적습니다.

사실 이 값은 부서별 사원의 평균 급여입니다. 예를 들어 Marketing 부서는 평균 급여가 대략 80,116인데, 이는 Marketing 부서의 총 급여(117,771,754)를 해당 부서의 총 사원 수(1,470)로 나눈(117771754 / 1470 = 80116.8395) 값이죠.

▲ 그림 9-1 부서별 사원의 평균 급여

구하고자 하는 값은 Marketing, Finance 등 부서별 총 급여에 대한 평균입니다. 따라서 코드 9-12 결과에 나온 결과 집합을 대상으로 총 급여에 대한 평균을 구해야 합니다. 즉, 부서별 총 급여를 모두 더한 값을 전체 부서 수인 9로 나눈 값을 구해야죠. 이렇게 두 단계에 걸쳐 계산하려면 코드 9-12를 서브쿼리로 만들어 FROM 절에 놓고 메인쿼리에서 다시 AVG() 함수로 평균을 계산해야 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.