정보처리기사

7. SQL 응용 - Chapter 2. 응용 SQL 작성하기

Elin J 2021. 10. 8. 18:25

Chapter 2. 응용 SQL 작성하기


*다중행 함수의 분류

    --> 집그윈
     집계함수 / 그룹함수 / 윈도함수

1. 집계함수 
  SELECT 컴럼1, 컬럼2, ... , 집계합수
    FROM 테이블명
   [WHERE 조건[
   GROUP BY 컬럼1, 컬럼2, ...
   [HAVING 조건식(집계함수 포함)]

 * 집계함수 종류 : COUNT , SUM , AVG, MAX, MIN , STDDEV, VARIAN

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

 * ROULLUP 함수 / CUBE 함수 / GROUPING SETS 함수
  중간 집계값 산출 - 다차원 집계 - 개별 집계

3. 윈도함수
  : 온라인 분석 처리 용도로 사용하기위해  표준 SQL에 추가된 함수 ( = OLAP 함수),
    GROUP BY 절 사용X => 행그룹을 기반 집계값 계산

 * 윈도함수 유형 --> 순행비
 1) 순위 함수 : 레코드의 순위 계산
      RANK - 공동 순위 반영 (2위,2위,2위,5위,6위)
      DENSE_RANK  - 공동 순위 무시 (2위,2위,2위,3위,4위)
      ROW_NUMBER - 동일 순위 값 존재해도 무관하게 연속 번호 부여 (2위,3위,4위,5위)
    
 2) 행 순서 함수 
     FIRST_VALUE - 가장 먼저 나오는 값
     LAST_VALUE - 가장 늦게 나오는 값
     LAG - 이전 로우의 값
     LEAD - 이후 로우의 값

 3) 그룹 내 비율 함수 - 비율과 관련된 통계 보여줌
     RATIO_TO_REPORT - 그룹의 합 기준 로우의 상대적 비율
     PERCENT_RANK - 값이 아닌 행의 순서별 백분율(0~1의 범위 값을 가짐)