-
Oracle 함수(Function) - 그룹 함수데이터베이스/Oracle 2020. 11. 11. 16:29728x90반응형
그룹 함수
그룹함수란 하나 이상의 행을 그룹으로 묶어 연산하며 총합, 평균 등을 하나의 컬럼으로 반환하는 함수이다.
여러가지 그룹 함수를 알아보자
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반응형'데이터베이스 > Oracle' 카테고리의 다른 글
Oracle - GROUP BY 의 ROLLUP과 CUBE (0) 2020.11.11 Oracle - ORDER BY / GROUP BY / HAVING (0) 2020.11.11 Oracle 함수(Function) - NULL 처리 함수와 선택 함수 (0) 2020.11.11 Oracle 함수(Function) - 형 변환 함수 (0) 2020.11.11 Oracle 함수(Function) - 날짜 처리 함수 (0) 2020.11.10