부서별 사원 수와 전체 부서의 총 사원 수 구하기
마지막으로 현재 부서별 사원 수와 전체 부서의 총 사원 수를 구해 봅시다. 부서별 사원 정보는 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;
실행결과