ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Oracle 함수(Function) - 그룹 함수
    데이터베이스/Oracle 2020. 11. 11. 16:29
    728x90
    반응형

    그룹 함수

    그룹함수란 하나 이상의 행을 그룹으로 묶어 연산하며 총합, 평균 등을 하나의 컬럼으로 반환하는 함수이다.

    여러가지 그룹 함수를 알아보자

     

     

    SUM

    SUM이란 해당 컬럼 값들의 총합을 반환한다.

     

    [ SUM 예시 ]

    - EMPLOYEE테이블에서 남자 사원의 급여 총합 조회

    SELECT SUM(SALARY),
    FROM EMPLOYEE
    WHERE SUBSTR(EMP_NO, 8, 1) = 1;

     

    - EMPLOYEE테이블에서 부서코드가 D5인 직원의 보너스 포함 연봉 조회

    SELECT SUM(SALARY + (SALARY*NVL(BONUS, 0))*12) 
    FROM EMPLOYEE 
    WHERE DEPT_CODE = ‘D5’;

     

     

    AVG

    AVG란 해당 컬럼 값들의 평균을 반환한다.

     

    [ AVG 예시 ]

    - EMPLOYEE테이블에서 전 사원의 보너스 평균을 소수 셋 째 자리에서 반올림 한 것 조회

    SELECT ROUND(AVG(NVL(BONUS, 0)), 2)
    FROM EMPLOYEE;

    - NVL을 하지 않을 시 NULL 값을 가진 행평균 계산에서 제외되어 계산된다 -

     

     

     

     

    MAX / MIN

    MAX란 그룹의 최대값을 반환한다.

    MIN란 그룹의 최소값을 반환한다.

     

    [ MAX / MIN 예시]

    - EMPLOYEE테이블에서 가장 높은 급여와 가장 낮은 급여 조회

    SELECT MAX(SALARY), MIN(SALARY)
    FROM EMPLOYEE;

     

    - EMPLOYEE테이블에서 가장 오래된 입사일과 가장 최근인 입사일 조회

    SELECT MAX(HIRE_DATE), MIN(HIRE_DATE)
    FROM EMPLOYEE;

     

     

    COUNT

    COUNT란 테이블 조건을 만족하는 행의 개수를 반환한다.

     

    [ COUNT 예시 ]

    - EMPLOYEE테이블에서 전체 사원 수 조회

    SELECT COUNT(*) -- *은 전체를 뜻한다.
    FROM EMPLOYEE;
    

     

    - EMPLOYEE테이블에서 부서코드가 D5인 직원의 수 조회

    SELECT COUNT(DEPT_CODE)
    FROM EMPLOYEE
    WHERE DEPT_CODE = ‘D5’;

     

    - EMPLOYEE테이블에서 사원들이 속해있는 부서의 수 조회

    SELECT COUNT(DISTINCT DEPT_CODE) 
    FROM EMPLOYEE;

     

    728x90
    반응형
Designed by Tistory.