-- <<SQL4_그룹함수_연습문제-작성예.SQL >>
-- 1. 전체 사원수와 급여합계, 평균 급여를 조회하자.
SELECT COUNT(*) AS 사원수, SUM(sal) 급여합계, AVG(sal) 평균급여
FROM t_emp;
-- 2. 각 부서별 인원수와 급여합계, 평균 급여, 최대급여를 부서번호와 함께 조회하자.
-- 단, 평균급여의 소수점이하 숫자를 반올림하여 조회하자.
SELECT deptno AS 부서번호, COUNT(*) AS 인원수, SUM(sal) 급여합계, ROUND(AVG(sal)) 평균급여, MAX(sal) 최대급여
FROM t_emp
GROUP BY deptno;
-- 3. 위 2번의 조회결과를 인원수가 많은 부서순으로 조회하자.
SELECT deptno AS 부서번호, COUNT(*) AS 인원수, SUM(sal) 급여합계, AVG(sal) 평균급여, MAX(sal) 최대급여
FROM t_emp
GROUP BY deptno
ORDER BY 인원수 DESC;
-- 4. 100번대 부서의 인원수와 급여합계, 평균 급여를 부서번호와 함께 조회하자.
SELECT deptno AS 부서번호, COUNT(*) AS 인원수, SUM(sal) 급여합계, ROUND(AVG(sal)) 평균급여
FROM t_emp
WHERE deptno between 100 and 199
GROUP BY deptno;
-- 5. 부서에 근무하는 사원수가 3명이상인 부서번호와 인원수와 급여합계를 조회하자.
SELECT deptno AS 부서번호, COUNT(*) AS 인원수, SUM(sal) 급여합계
FROM t_emp
GROUP BY deptno
HAVING COUNT(*) >= 3;
-- 6. 사원(EMP) 테이블에서 최대급여가 3500 이상인 부서의 부서번호, 최대급여, 평균급여를 조회하자.
-- 단, 평균급여의 소수점 이하 첫째 자리에서 반올림하여 조회하자.
SELECT deptno AS 부서번호, MAX(sal) 최대급여, ROUND(AVG(sal),1) 평균급여
FROM t_emp
GROUP BY deptno
HAVING MAX(sal) >= 3500;