[정보처리기사 실기] 7장 SQL 응용 - SQL 작성하기
2022. 4. 23. 14:55ㆍ정보처리기사/실기
728x90
반응형
집계성 SQL 작성
데이터 분석 함수의 개념
- 데이터 분석을 위해 복수 기준의 데이터를 모아 처리하는 것 목적으로 하는 다중 행 함수, Group BY 사용해 매핍, select, having, order by 등 구문 활용
데이터 분석 함수 종류
- 집계 함수 : 여러 행 또는 전체 행부터 하나의 결괏값 반환
- 그룹 함수 : 소그룹 간의 소계 및 중계의 중간 합계 분석 데이터 산출
- 윈도 함수 : 온라인 분석 처리 용도로 사용하기 위해 표준 쿼리에 추가
집계 함수
(1) 개념 : 하나의 결괏값으로 반환 : select ~ from ~ [where ~] group by ~ [having ~]
- where 조건으로 지정된 집합에 대한 조건 선택시 having 사용하는 것
- group by 뒤에 테이블 구분하는 컬럼 기재해 그룹화
- having 조건 지정 시 사용, 상수나 집약 함수, 집약 키 사용
- GROUP BY : where 화용해 조건별 대상 ROW 선택, 복수 로우 대상의 분석 시 그룹핑 대상이 되는 부분 선별 필요
- null 값 제외, select에서 쓰는 것과 같은 alias 제외, where 안에 포함 안됨, where은 group by 보다 먼저 실행되고 대상이 되는 단일 행을 사전에 선별하는 역할
- 컬럼 단위를 선정 할 때 사용하는 기준, 조정을 통해 사용자가 원하는 분석 데이터 볼 수 있다.
- HAVING : where 구문 내에는 사용 안됨, 집계 함수의 구문 적용해 복수 행의 결과 조건별로 적용, GROUP BY 뒬에 기재
(2) 종류
- count, sum, avg, max, min, stddev(표준편차), varian(분산)
그룹 함수
(1) 개념 : 전체 행을 하나 이상의 컬럼을 기준으로 값에 따하 그룹화하여 결과 출력
(2) 유형
- ROLLUP 함수 : 컬럼은 소그룹 합계 등 중간 집계 값을 산출하기 위한 그룹 함수, 지정 수 보다 하나 더 큰 레벨 만큼 중간 집계 값 생성, 계층별로 구성되기 때문, 순서가 바뀌면 수행결과 바뀜
- select ~ from ~ [where ~] group by [~] rollup ~ [having ~] [order by ~]
- 대상 컬럼은 rollup 뒤에, 대상이 아니면 group by 뒤에 기재, select 뒤에 포함되는 컬럼만이 기재 될 수 있다, order by 통해 계층 내 정렬에 사용, sql의 결과 보다 체계적
- CUBE 함수 : 결합 가능한 모든 값 다차원 집계, 연산이 많아 시스템 부담 준다.
- select ~ from ~ [where ~] group by [~] cube ~ [having ~] [order by ~]
- GROUPING SETS 함수 : 집계 대상 컬럼들에 대한 개별 집계 구한다, rollup이나 cube 달리 컬럼 간 순서와 무관한 결과 얻는 그룹
- select ~ from ~ [where ~] group by [~] grouping sets ~ [having ~] [order by ~]
윈도 함수
(1) 개념 : 디비 사용한 온라인 분석 처리 용도로 사용 표준 쿼리, OLAP
(2) 구문 : select ~ over ([partition by ~] [order by ~]) from ~
(3) 순위 함수
- RANK : 특정 컬럼에 대한 순위 구하는 함수, 동일 순위의 레코드 존재시 후순위로 넘어감
- DENSE_RANK : 순위 계산, 후순위 넘어가지 않음
- ROW_NUMBER : 순위 계산, 동일 순서 있어도 연속 번호 부여
728x90
반응형
'정보처리기사 > 실기' 카테고리의 다른 글
[정보처리기사 실기] 7장 SQL 응용 - 데이터 조작 프로시저 최적화 (0) | 2022.04.23 |
---|---|
[정보처리기사 실기] 7장 SQL 응용 - SQL 절차하기 (0) | 2022.04.23 |
[정보처리기사 실기] 7장 SQL 응용 - 데이터베이스 기본 (0) | 2022.04.23 |
[정보처리기사 실기] 5장 인터페이스 구현 - 인터페이스 구현 검증 (0) | 2022.04.22 |
[정보처리기사 실기] 5장 인터페이스 구현 - 인터페이스 기능 구현 (0) | 2022.04.20 |