심심한잉여의 잡동사니

[SQLD] 뷰, 그룹함수, 윈도우함수 본문

자격증/SQLD

[SQLD] 뷰, 그룹함수, 윈도우함수

심심한잉여 2022. 5. 17. 20:15
반응형


 - 실제 데이터 가지고 있지 않는 가상테이블

뷰 사용 장점
 - 독립성 : 테이블 구조가 변경되어도 뷰를 사용하는 응용 프로그램은 변경하지 않아도 된다.
 - 편리성 : 복잡한 질의를 뷰로 생성함으로써 관련 질의를 단순하게 작성할 수 있다.
 - 보안성 : 직원의 급여 정보와 같이 숨기고 싶은 정보가 존재 할 경우 사용

생성 : CREATE VIEW T_TEST AS SELECT ... ;
삭제 : DROP VIEW T_TEST;

그룹함수

ROLLUP
 - SELEECT 절에서 사용되어 SELECT된 데이터와 그 데이터의 총계를 구할 수 있다.

CUBE
 - SELECT 절에서 사용되어 결합 가능한 모든 값들을 구할 수 있다.

GROUPING
 - 해당 ROW가 GROUP BY에 의한 결과면 0, ROLLUP이나 CUBE에 의한 결과는 1 로 반환한다.

GROUPING SETS
 - 인수들에 대한 개별 집계

윈도우 함수
 - 행과 행간의 관계를 정의하거나 행과 행간의 비교, 연산하는 함수

순위 관련 함수
 - RANK : 동일한 값에 대해서는 동일한 순위를 부여 (1,2,2,4)
 - DENSE_RANK : 동일한 순위를 하나의 등수로 간주(1,2,2,3)
 - ROW_NUMBER : 동일한 값이라도 고유한 순위 부여(1,2,3,4)

집계 관련 함수
 - SUM : 파티션별 윈도우의 합을 구한다.
 - MAX, MIN : 파티션 별 윈도우의 최대 최소값을 구한다.
 - AVG : 원하는 조건에 맞는 데이터에 대한 통계 값을 구한다.
 - COUNT : 조건에 맞는 데이터에 대한 통계값을 구한다.

행 순서 관련 함수
 - FIRST_VALUE : 파티션별 윈도우의 처음 값
 - LAST_VALUE : 파티션별 윈도우의 마지막 값
 - LAG : 파티션별 윈도우에서 이전 몇 번째 행의 값
 - LEAD : 파티션별 윈도우에서 이후 몇 번째 행의 값

비율 관련 함수
 - RATIO_TO_REPORT : SUM 파티션 내 전체에 대한 행별 컬럼 값의 백분율을 소수점으로 구할 수 있다.
 - PERCENT_RANK : 파티션별 윈도우에서 처음 값을 0,1 마지막 값으로 하여 행의 순서별 백분율을 구한다.
 - CUME_DIST : 현재 행보다 작거나 같은 건 수에 대한 누적 백분율을 구한다.
 - NTILE : 파티션별 전체 건수를 인수 값으로 N등분한 결과를 구할 수 있다.

반응형

'자격증 > SQLD' 카테고리의 다른 글

[ORACLE/SQL] DECODE, CASE WHEN  (0) 2022.05.24
[SQLD] SQL활용 JOIN, 서브쿼리  (0) 2022.05.11
[SQLD] SQL기본 GROUP BY, ROWNUM, JOIN  (0) 2022.05.10
[SQLD] SQL기본 연산자, 함수  (0) 2022.05.09
[SQLD] DML,DCL,DDL,TCL  (0) 2022.05.06