그룹함수

ex)

-- 사원들의 급여 총합을 구한다.
select sum(sal)
from emp;

ex)

-- 사원들의 커미션을 가져온다.
select sum(comm)
from emp;

ex)

-- 급여가 1500이상인 사원들의 급여 총합을 구한다.
select sum(sal)
from emp
where sal >= 1500;

ex)

-- 20번 부서에 근무하고 있는 사원들의 급여 총합을 구한다.
select sum(sal)
from emp
where deptno = 20;

ex)

-- 직무가 SALESMAN인 사원들의 급여 총합을 구한다.
select sum(sal)
from emp
where job = 'SALESMAN';

ex)

-- 전사원의 급여 평균을 구한다.
select trunc(avg(sal))
from emp;

ex)

-- 커미션을 받는 사원들의 커미션 평균을 구한다.
select avg(comm)
from emp;

그룹함수의 경우 null값은 제외하고 계산한다.

ex)

-- 전 사원의 커미션 평균을 구한다.(nvl : null값을 0으로 바꿔준다.)
select trunc(avg(nvl(comm, 0)))
from emp;

nvl(,0)컬럼에 null값은 0으로 바꾼다.

ex)

-- 커미션을 받는 사원들의 급여 평균을 구한다.
select trunc(avg(sal))
from emp
where comm is not null;

ex)

-- 30번 부서에 근무하고 있는 사원들의 급여 평균을 구한다.
select trunc(avg(sal))
from emp
where deptno = 30;

ex)

-- 직무가 SALESMAN인 사원들의 급여 + 커미션 평균을 구한다.
select avg(sal + comm)
from emp
where job = 'SALESMAN';

ex)

-- 사원들의 총 수를 가져온다.
select count(empno)
from emp;

ex)

-- 그룹함수를 계산할 때는 무조건 null값은 제외하고 계산하다.
-- 그러므로 이런식으로 하는 것이 최선의 방법이다.
-- 사원들의 총 수를 가져온다.
select count(*)
from emp;

ex)

-- 사원들의 급여 최대, 최소값을 가져온다.
select max(sal), min(sal)
from emp;

Comment and share

  • page 1 of 1

Hyeon Soo Ahn

author.bio


author.job