p. 255
*여려 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 다중행 함수 중 집계 함수(aggregate function)의 특성
- 여려 행들의 그룹이 모여서 그룹당 단 하나의 결과를 돌려주는 함수
- GROUP BY 절은 행들을 소그룹화함
- SELECT절, HAVING절, ORDER BY 절에 사용 가능
p.256
*GROUP BY절과 HAVING절의 특성
- GROUP BY 절을 통해 소그룹별 기준을 정한 후, SELECT 절에 집계 함수를 사용한다.
- 집계 함수의 통계 정보는 NULL 값을 가진 행을 제외하고 수행한다.
- GROUP BY 절에서는 SELECT 절과는 달리 ALIAS 명을 사용할 수 없다.
- 집계 함수는 WHERE 절에는 올 수 없다.
- WHERE 절은 전체 데이터를 GROUP으로 나누기 전에 행들을 미리 제거시킨다.
- HAVING 절은 GROUP BY 절의 기준 항목이나 소그룹의 집계 함수를 이용한 조건을 표시할 수 있다.
- GROUP BY 절에 의한 소그룹별로 만들어진 집계 데이터 중, HAVING 절에서 제한 조건을 두어 조건을 만족하는 내용만 출력한다.
- HAVING 절은 일반적으로 GROUP BY 절 뒤에 위치한다.
- WHERE 절은 FROM 절에 정의된 집합(주로 테이블)의 개별 행에 WHERE 절의 조건절이 먼저 적용되고, WHERE 절의 조건에 맞는 행이 GROUP BY 절의 대상이 된다.
- WHERE 절의 조건 변경은 대상 데이터의 개수가 변경되므로 결과 데이터 값이 변경될 수 있지만, HAVING 절의 조건 변경은 결과 데이터 변경은 없고 출력되는 레코드의 개수만 변경될 수 있다.
'개발 및 관리 > Oracle 9i, 10g, 11g, 12c, 19c' 카테고리의 다른 글
집계 함수와 NULL 처리 - SQL전문가 가이드 p. 265 (0) | 2012.03.28 |
---|---|
CASE 표현과 Oracle의 DECODE 함수의 차이점 비교 - SQL전문가 가이드 p.264 (0) | 2012.03.28 |
NVL(oracle)/ISNULL(mssql) 함수의 특성, SQL전문가 가이드 p.245 (0) | 2012.03.28 |
단일행 CASE 표현의 종류, SQL전문가 가이드 p. 242 (0) | 2012.03.28 |
ORA-16038, ORA-19809, ORA-00312 (0) | 2012.03.20 |