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;


-- 부서별 커미션 받는 사원수를 부서별로 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;


-- 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