상세 컨텐츠

본문 제목

6. 응용 SQL 작성하기

정보처리기사 실기

by Goyoungjung 2023. 4. 7. 15:11

본문

데이터 분석 함수

: 총합, 평균 등의 데이터 분석을 위해서는 복수 행 기준의 데이터를 모아서 처리하는 것을 목적으로 하는 다중 행 함수이다

 

다중 행 연산자

: 서브 쿼리의 결과가 여러 개의 튜플을 반환하는 다중 행 서브쿼리에서 사용되는 연산자이다

다중 행 연산자 종류

IN 리턴되는 값 중에서 조건에 해당하는 값이 있으면 참
ANY 서브쿼리에 의해 리턴되는 각각의 값과 조건을 비교하여 하나 이상을 만족하면 참
ALL 값을 서브쿼리에 의해 리턴되는 모든 값과 조건 값을 비교하여 모든 값을 만족해야만 함
EXISTS 메인 쿼리의 비교 조건이 서브쿼리의 결과 중에서 만족하는 값이 하나라도 존재하면 참

: 다중 행 비교 연산자는 단일 행 비교 연산자 <, >, =, <>와 결합하여 사용할 수 있다

 

데이터 분석 함수 종류

집계 함수 여러 행 또는 테이블 전체 행으로부터 하나의 결과값을 반환하는 함수
그룹 함수 소그룹 간의 소계 및 중계 등의 중간 합계 분석 데이터를 산출하는 함수
윈도 함수 데이터베이스를 사용한 온라인 분석 처리 용도로 사용하기 위해서 표준 SQL에 추가된 기능

집계 함수 종류

COUNT 복수 행의 줄 수를 반환하는 함수
SUM 복수 행의 해당 컬럼 간의 합계를 계산하는 함수
AVG 복수 행의 해당 컬럼 간의 평균을 계산하는 함수
MAX 복수 행의 해당 컬럼 중 최대값을 계산하는 함수
MIN 복수 행의 해당 컬럼 중 최소값을 계산하는 함수
STDDEV 복수 행의 해당 컬럼 간의 표준편차를 계산하는 함수
VARIANCE 복수 행의 해당 컬럼 간의 분산을 계산하는 함수

그룹 함수

: 테이블 전체 행을 하나 이상의 컬럼을 기준으로 컬럼 값에 따라 그룹화하여 그룹별로 결과를 출력하는 함수이다

 

그룹 함수 유형

ROLLUP 함수

: ROLLUP에 의해 지정된 컬럼은 소계 등 중간 집계 값을 산출하기 위한 그룹 함수이다

: 지정 컬럼의 수보다 하나 더 큰 레벨만큼의 중간 집계 값이 생성된다

: ROLLUP의 지정 컬럼은 계층별로 구성되기 때문에 순서가 바뀌면 수행 결과가 바뀜을 유의한다

 

CUBE 함수

: 결합 가능한 모든 값에 대해 다차원 집계를 생성하는 그룹 함수이다

: 연산이 많아 시스템에 부담을 준다

: ROLLUP은 소계, 중간 집계를 나타내 주지만, CUBE는 결합 가능한 모든 값에 대해 다차원 집계 생성

: 세분화된 소계가 구해짐

 

GROUPING SETS 함수

: 집계 대상 컬럼들에 대한 개별 집계를 구할 수 있으며, ROLLUP이나 CUBE와는 달리 컬럼 간의 순서와 무관한 결과를 얻을 수 있는 그룹 함수이다.

: ORDER BY를 사용하여 집계 대상 그룹과의 표시 순서를 조정하여 체계적으로 보여줄 수 있다.

 

윈도 함수

: OLAP 함수라도고 함

SELECT 함수명(파라미터) OVER ([PARTITION BY 컬럼1, ...][ORDER BY 컬럼A, ...]) FROM 테이블명

 

순위 함수

RANK 특정 항목에 대한 순위를 구하는 함수
동일 순위의 레코드 존재 시 후순위는 넘어감(2위가 3개인 레코드인 경우: 2위, 2위, 2위, 5위, 6위 ...)
DENSE_RANK 레코드의 순위를 계산
동일 순위의 레코드 존재 시에도 후순위를 넘기지 않음(2위가 3개인 레코드인 경우 2위, 2위 2위, 3위, 4위 ...)
ROW_NUMBER 레코드의 순위를 계산
동일 순위의 값이 존재해도 이와 무관하게 연속 번호를 부여(2위가 3개인 레코드인 경우 2위, 3위, 4위 ...)

'정보처리기사 실기' 카테고리의 다른 글

10. 애플리케이션 테스트 관리  (0) 2023.04.10
9. 소프트웨어 개발 보안 구축  (0) 2023.04.08
8. 서버 프로그램 구현  (0) 2023.04.07
7. SQL 활용 및 최적화  (0) 2023.04.07
5. 데이터베이스 기본  (0) 2023.04.06

관련글 더보기