✔ 그룹 함수
그룹 함수란
- GROUP BY 절에 지정된 그룹별로 속성의 값을 집계할 때 사용
// SELECT
SELECT [PREDICATE] [테이블명.]속성명 [AS 별칭][, [테이블명.]속성명, …]
[, 그룹함수(속성명) [AS 별칭]]
[, WINDOW함수 OVER (PARTITION BY 속성명1, 속성명2, …
ORDER BY 속성명3, 속성명4, …)]
FROM 테이블명[, 테이블명, …]
[WHERE 조건]
[GROUP BY 속성명, 속성명, …]
[HAVING 조건]
[ORDER BY 속성명 [ASC | DESC]];
GROUPING
- 집계 표시가 아닐 경우 WHEN 0
- 집계 표시일 경우 WHEN 1
ROLLUP
- 계층 구조를 가진 SUB TOTAL을 생성하는 함수
- Grouping Columns의 수가 N일 때, N + 1 LEVEL의 SUB TOTAL이 생성됨
- 나열된 칼럼의 순서가 변경되면 수행 결과도 변경됨
- 계층 구조로 나열된 칼럼에 대해 계층 구조로 집계를 출력
- 정렬이 필요한 경우는 ORDER BY 절에 명시적으로 정렬 칼럼을 표시
- 일반 그룹 함수와 동일한 결과를 추출할 수 있음
- 집계된 대상 칼럼 이외의 GROUP 대상 칼럼의 값은 NULL을 반환
CUBE
- 가질 수 있는 모든 경우에 대하여 SUB TOTAL을 생성해야 하는 경우에 사용하는 함수
- 결합 가능한 모든 값에 대하여 다차원 집계를 생성
- 정렬이 필요한 경우는 ORDER BY 절에 명시적으로 정렬 칼럼을 표시
- ROLLUP에 비해 시스템에 많은 부담을 주므로 사용에 주의
- 일반 그룹 함수와 동일한 결과를 추출할 수 있음
- 집계된 대상 칼럼 이외의 GROUP 대상 칼럼의 값은 NULL을 반환
GROUPING SETS
- 다양한 소계 집합을 만들 수 있음
- GROUPING SETS에 표시된 인수들에 대한 개별 집계를 구할 수 있음
- 계층 구조가 아닌 평등한 관계이므로 인수의 순서가 바뀌어도 결과는 같음
- 정렬이 필요한 경우는 ORDER BY 절에 명시적으로 정렬 칼럼을 표시
- 일반 그룹 함수와 동일한 결과를 추출할 수 있음
- 집계된 대상 칼럼 이외의 GROUP 대상 칼럼의 값은 NULL을 반환
'Certificate > SQL개발자' 카테고리의 다른 글
[SQL개발자] SQL 활용 - 절차형 SQL (0) | 2023.10.20 |
---|---|
[SQL개발자] SQL 활용 - 윈도우 함수 (0) | 2023.10.20 |
[SQL개발자] SQL 활용 - 서브쿼리 (0) | 2023.10.20 |
[SQL개발자] SQL 활용 - 계층형 질의와 셀프 조인 (0) | 2023.10.20 |
[SQL개발자] SQL 활용 - 집합 연산자 (0) | 2023.10.20 |
✔ 그룹 함수
그룹 함수란
- GROUP BY 절에 지정된 그룹별로 속성의 값을 집계할 때 사용
// SELECT
SELECT [PREDICATE] [테이블명.]속성명 [AS 별칭][, [테이블명.]속성명, …]
[, 그룹함수(속성명) [AS 별칭]]
[, WINDOW함수 OVER (PARTITION BY 속성명1, 속성명2, …
ORDER BY 속성명3, 속성명4, …)]
FROM 테이블명[, 테이블명, …]
[WHERE 조건]
[GROUP BY 속성명, 속성명, …]
[HAVING 조건]
[ORDER BY 속성명 [ASC | DESC]];
GROUPING
- 집계 표시가 아닐 경우 WHEN 0
- 집계 표시일 경우 WHEN 1
ROLLUP
- 계층 구조를 가진 SUB TOTAL을 생성하는 함수
- Grouping Columns의 수가 N일 때, N + 1 LEVEL의 SUB TOTAL이 생성됨
- 나열된 칼럼의 순서가 변경되면 수행 결과도 변경됨
- 계층 구조로 나열된 칼럼에 대해 계층 구조로 집계를 출력
- 정렬이 필요한 경우는 ORDER BY 절에 명시적으로 정렬 칼럼을 표시
- 일반 그룹 함수와 동일한 결과를 추출할 수 있음
- 집계된 대상 칼럼 이외의 GROUP 대상 칼럼의 값은 NULL을 반환
CUBE
- 가질 수 있는 모든 경우에 대하여 SUB TOTAL을 생성해야 하는 경우에 사용하는 함수
- 결합 가능한 모든 값에 대하여 다차원 집계를 생성
- 정렬이 필요한 경우는 ORDER BY 절에 명시적으로 정렬 칼럼을 표시
- ROLLUP에 비해 시스템에 많은 부담을 주므로 사용에 주의
- 일반 그룹 함수와 동일한 결과를 추출할 수 있음
- 집계된 대상 칼럼 이외의 GROUP 대상 칼럼의 값은 NULL을 반환
GROUPING SETS
- 다양한 소계 집합을 만들 수 있음
- GROUPING SETS에 표시된 인수들에 대한 개별 집계를 구할 수 있음
- 계층 구조가 아닌 평등한 관계이므로 인수의 순서가 바뀌어도 결과는 같음
- 정렬이 필요한 경우는 ORDER BY 절에 명시적으로 정렬 칼럼을 표시
- 일반 그룹 함수와 동일한 결과를 추출할 수 있음
- 집계된 대상 칼럼 이외의 GROUP 대상 칼럼의 값은 NULL을 반환
'Certificate > SQL개발자' 카테고리의 다른 글
[SQL개발자] SQL 활용 - 절차형 SQL (0) | 2023.10.20 |
---|---|
[SQL개발자] SQL 활용 - 윈도우 함수 (0) | 2023.10.20 |
[SQL개발자] SQL 활용 - 서브쿼리 (0) | 2023.10.20 |
[SQL개발자] SQL 활용 - 계층형 질의와 셀프 조인 (0) | 2023.10.20 |
[SQL개발자] SQL 활용 - 집합 연산자 (0) | 2023.10.20 |