데이터 분석 함수
: 총합, 평균 등의 데이터 분석을 위해서는 복수 행 기준의 데이터를 모아서 처리하는 것을 목적으로 하는 다중 행 함수이다
다중 행 연산자
: 서브 쿼리의 결과가 여러 개의 튜플을 반환하는 다중 행 서브쿼리에서 사용되는 연산자이다
다중 행 연산자 종류
| 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 |