더북(TheBook)

부서별 사원 수와 전체 부서의 총 사원 수 구하기

마지막으로 현재 부서별 사원 수와 전체 부서의 총 사원 수를 구해 봅시다. 부서별 사원 정보는 dept_emp 테이블에 있습니다. 먼저 부서별로 몇 명의 사원이 있는지 구하고, 마지막에 전체 사원 수를 집계하면 됩니다. 일반적으로 소계와 총계를 구할 때는 GROUP BY 절에 WITH ROLLUP을 명시하는데, 여기서는 WITH ROLLUP 구문을 사용하지 않고 쿼리를 작성해 보겠습니다.

코드 8-29

SELECT a.dept_name, COUNT(*)
  FROM departments a
 INNER JOIN dept_emp b
    ON a.dept_no = b.dept_no
 WHERE SYSDATE() BETWEEN b.from_date AND b.to_date
 GROUP BY a.dept_name
 UNION
SELECT '전체', COUNT(*)
  FROM dept_emp
 WHERE SYSDATE() BETWEEN from_date AND to_date;

실행결과

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