반응형
함수
MAX() : 최대값
AVG([DISTINCT | ALL] n ) : NULL을 무시한 평균
COUNT({* | [DISTINCT | ALL] expr }) : NULL을 무시하지만 * 이라면 NULL과 중복을 포함
MAX([DISTINCT | ALL] expr) : NULL 값 무시 expr의 최대값
MIN([DISTINCT | ALL] expr) : NULL 값 무시 expr의 최소값
STDDEV([DISTINCT | ALL] n) : NULL값 무시한 n의 표준 편차
SUM([DISTINCT | ALL] n ) : NULL값 무시한 n의 합계
VARIANCE([DISTINCT | ALL] n) : NULL값 무시한 n의 분산
예) SELECT SUM(sal),AVG(sal) FROM 테이블명
. 그룹 함수는 열에 있는 NULL 값을 무시한다.
. NULL 값을 포함하기 위해서는 NVL 함수를 사용한다.
예) SELECT AVG(NVL(comm, 0)) FROM emp
NVL 은 어떤 값이 널일때 원하는 값으로 값을 치환한다.
행 그룹화 : GROUP BY
예) SELECT deptno, MAX(sal) FROM emp GROUP BY deptno;
예)오류: SELECT deptno , MAX(sal) FROM emp
-> deptno 는 비그룹함수 , MAX는 그룹함수 이다. 그래서 위 문장은 오류이다.
예)GROUP BY deptno, job ;
- > 컬럼 순서에 따라 표현 순서가 다르다. 컬럼 다수를 묶어서 그룹화 가능
☆☆ GROUP 결과 제한 : HAVING 을 이용
- > GROUP BY 사용시 그룹에 대한 제한은 HAVING 을 사용한다. (평상시는 WHERE 이용)
예) SELECT deptno , MAX(sal) FROM emp GROUP BY deptno HAVING MAX(sal) >= 2900 ;
예) SELECT job, SUM(sal) FROM emp WHERE job <> 'SALSMAN' GROUP BY job HAVING SUM(sal) > 5000 ORDER BY SUM(sal);
그룹함수 사용 요약
. 단일 함수는 하나의 행에 대해 하나의 결과 리턴
. 그룹 함수는 하나 이상의 행에 대해 하나의 결과 리턴
. 그룹 함수는 GROUP BY 절과 함께 사용되어 행을 그룹화
. 그룹 합수는 연산대상에 NULL을 포함하지 않음
. COUNT 함수의 *, NVL 함수 등을 이용하여 NULL 값을 포함할수 있다.
. 그룹의 결과를 제한하기 위해서 HAVING 절 사용
반응형
'학습자료(~2017) > 오라클' 카테고리의 다른 글
6. 오라클 - Sub Query (0) | 2011.03.11 |
---|---|
5. 오라클 - 조인 (0) | 2011.03.11 |
3. 오라클 - 데이터 제한 및 정렬 (0) | 2011.03.10 |
2. 오라클 - 기본 질의문 (0) | 2011.03.10 |
1. 오라클 (0) | 2011.03.10 |