함수는 크게 단일행 함수와 다중행 함수(그룹 함수)로 나뉩니다. 앞서 살펴본 단일행 함수와 달리 그룹 함수는 여러 행 또는 테이블 전체에 함수가 적용되어 하나의 결과를 반환합니다.
1. SUM 함수
null값을 제외한 해당 컬럼 값들의 총합을 구합니다.
SUM( DISTINCT | ALL | 컬럼명 )
DISTINCT 키워드는 중복된 값을 제외한다는 것으로, 생략하면 ALL이 기본적으로 적용됩니다.
사원들의 월급의 총합을 구하는 SQL문입니다.
SELECT SUM(DISTINCT sal), SUM(ALL sal), SUM(sal) FROM emp;
--> 23675 --> 24925 --> 24925
2. AVG 함수
null값을 제외한 해당 컬럼 값들의 평균을 구합니다.
AVG( DISTINCT | ALL | 컬럼명 )
사원들의 월급의 평균을 구하는 SQL문입니다.
SELECT AVG(sal) FROM emp;
3. MAX/MIN 함수
해당 컬럼 값들 중에서 최대값, 최소값을 구하는 함수입니다. 사원들의 월급의 최대값, 최소값을 구하는 SQL문입니다.
SELECT MAX(sal), MIN(sal) FROM emp;
입사 날짜가 가장 늦은 사람과 가장 빠른 사람을 구할 수도 있습니다.
SELECT MAX(hiredate), MIN(hiredate) FROM emp;
4. COUNT 함수 ★★★
테이블에서 조건을 만족하는, null을 제외한 행의 개수를 반환합니다.
COUNT( DISTINCT | ALL | 컬럼명 | * )
SELECT COUNT(ename), COUNT(comm) FROM emp;
--> 12 --> 4
null값과 상관 없이 테이블 전체 행의 개수를 구하기 위해서는 *를 사용하면 됩니다.
SELECT COUNT(*) FROM emp; --> 12
그런데 이러한 그룹 함수를 사용할 때 주의할 사항이 있습니다. 다음 글에서 이어서 보겠습니다.
'Database > Oracle' 카테고리의 다른 글
[Oracle SQL] 조인(join) - 오라클 조인 (0) | 2022.05.11 |
---|---|
[Oracle SQL] SQL 함수 - 그룹 함수 GROUP BY, HAVING (0) | 2022.05.11 |
[Oracle SQL] SQL 함수 - 단일행 함수 (5) 조건 함수 (0) | 2022.05.11 |
[Oracle SQL] SQL 함수 - 단일행 함수 (4) 변환 함수 (0) | 2022.05.10 |
[Oracle SQL] SQL 함수 - 단일행 함수 (3) 날짜처리 함수 (0) | 2022.05.10 |
댓글