Written by
최태열
on
on
Oracle DB 3
그룹함수
- 그룹함수
-- row 수 count
select count(*) from emp;
-- job의 종류 수 count
select count(distinct(job)) from emp;
-- 월급여 합계
select sum(sal) from emp;
-- comm 합계
select sum(nvl(comm,0)) from emp;
-- 급여 평균
select avg(sal) from emp;
-- 최댓값, 최솟값
select max(sal),min(sal) from emp;
--최근 입사한 사원의 입사일과, 가장 오래된 사원의 입사일 검색
select max(hiredate), min(hiredate) from emp;
- group by절
-- 부서별 커미션 받는 사원수를 부서별로 asc
select deptno, count(comm)
from emp
group by deptno
order by deptno asc;
-- from -> group by -> select -> order by
-- 부서별 봉급의 평균을 평균순으로 나열
select deptno, avg(sal)
from emp
group by deptno
order by avg(sal) desc;
-- 소속 부서별 최대 급여와 최소 급여 검색
select max(sal) "최대 급여", min(sal) "최소 급여"
from emp
group by deptno
order by deptno asc;
-- comm 있는 사원수 count
select deptno, count(*), count(comm)
from emp
group by deptno;
- having 절
-- group 절에 대한 조건문
-- 부서별(deptno) 평균 급여(avg())가 2000 이상(>=)부서의 번호와 평균 급여 검색
select deptno, avg(sal)
from emp
group by deptno
having avg(sal)>=2000;
-- from -> group by -> having -> select
Discussion and feedback