Develop/DATABASE
오라클)집계 함수 - 기본함수(COUNT, MIN, MAX, SUM, AVG)
걸어다니는 종합병원
2022. 10. 26. 23:36
반응형
집계 함수는 다중 값을 단일 값으로 집계하는 함수
COUNT 함수 - COUNT ({* | [DISTINCT | ALL] expr})
전체 행의 개수나 expr의 개수를 반환.
행이 없거나 expr이 모두 널이면 0을 반환.
유형 | 설명 | ||||
COUNT ( * ) | 전체 행의 개수를 반환 | ||||
COUNT ( expr ) | NULL이 아닌 expr의 개수를 반환 | ||||
COUNT ( DISTINCT expr ) | NULL이 아닌 expr의 고유한 개수를 반환 |
MIN 함수 - MIN ( expr )
expr의 최저 값을 반환
C3의 comm열의 NULL값은 무시되어 0이 반환
C2의 값이 모두 NULL이여서 널이 반환
MAX 함수 - MAX ( expr )
expr의 최고 값을 반환.
행이 존재하지 않으면 결과가 반환되지 않는다.
※ 집계 함수를 사용하면 행이 없더라도 하나의 행을 반환.
SUM 함수 - SUM ( [DISTINCT | ALL ] expr )
expr의 합계 값을 반환. 숫자 값만 입력
comm이 NULL 인 경우에는 NULL을 반환
C1과 C2는 산술연산(+)을 사용해서 NULL을 반환
C3 열은 NVL 함수가 28회, C4열은 NVL 함수가 2번 수행되어 성능 측면에서는 C4가 더 효율적
C5는 산술 연산을 사용해서 NVL이 산술연산값이 NULL이기 때문에 0을 반환
AVG 함수 - AVG ([ DISTINCT | ALL ] expr )
expr의 평균을 반환
아래의 쿼리문과 동일한 결과를 보여준다.
SELECT SUM(sal) / COUNT(sal) AS c1
,SUM(DISTINCT sal) / COUNT(DISTINCT sal) AS c2
,SUM(comm) / COUNT(comm) AS c3
,SUM(comm) / COUNT(*) AS c4
FROM emp;
반응형