Cracking Code

SQL - SUM, AVG, MAX, MIN, COUNT 본문

Database

SQL - SUM, AVG, MAX, MIN, COUNT

CrackCo 2020. 7. 19. 14:40
앞서 배운 함수들 처럼 각 행마다 처리하는 함수들을 단일 행 함수라고 합니다.
그와 달리 여러 행 또는 테이블 전체에 대해 하나의 결과로 출력하는 것을 그룹 함수라고 합니다.
그룹 함수에 대해 알아보겠습니다.

1. SUM

SUM([DISTINCT | ALL] column)

SUM 함수는 컬럼의 모든 행을 합쳐서 리턴합니다.

옵션은 중복되는 값을 한 번만 적용하는 DISTINCT, 모든 값을 적용하는 ALL이 있습니다.

옵션을 입력하지 않을 시 기본으로 ALL 옵션이 적용됩니다.

 

사원 테이블의 모든 사원의 급여를 SUM함수의 각각 옵션을 적용시켜 급여합을 출력해봅시다.

SELECT SUM(DISTINCT SAL),
    SUM(ALL SAL), SUM(SAL)
FROM EMP;

DISTINCT 옵션을 적용한 컬럼은 중복 되는 값은 연산하지 않았기에 결과가 더 적게 나왔습니다.

ALL과 아무 옵션도 쓰지 않은 결과는 같게 나오는 것을 확인할 수 있습니다.

 

2. AVG

AVG(column)

AVG 함수는 컬럼의 모든 행의 평균을 리턴합니다.

 

사원 테이블의 평균 급여를 구해봅시다.

SELECT AVG(SAL) 평균급여
FROM EMP;

구해진 평균 급여와 급여합(29025) / 사원수(14) 의 값이 일치하는 것으로 평균값이 잘 나오는 것을 확인할 수 있습니다.

 

3. MAX, MIN

MAX(column)
MIN(column)

MAX: 컬럼의 모든 행 중 최댓값 리턴

MIN: 컬럼의 모든 행 중 최솟값 리턴

 

사원 테이블의 급여의 최대와 최소를 출력해봅시다.

 

4. COUNT

COUNT(column | *)

컬럼의 모든 행의 갯수를 출력합니다.

 

사원 테이블의 사원 이름 수와 커미션을 받는 사원 수를 출력해봅시다.

SELECT COUNT(ENAME), COUNT(COMM)
FROM EMP;

'Database' 카테고리의 다른 글

SQL - JOIN (ORACLE)  (0) 2020.07.19
SQL - GROUP BY, HAVING  (0) 2020.07.19
SQL - DECODE  (0) 2020.07.19
SQL - CASE  (0) 2020.07.19
SQL - TO_CHAR, TO_NUMBER, TO_DATE  (0) 2020.07.19
Comments