본문 바로가기
자격증/SQLD

SQLD 요약 - (7) SQL활용_뷰,그룹함수,윈도우함수

by 땅콩둘기 2021. 5. 25.
반응형

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

 

뷰 사용 장점

✔ 독립성 : 테이블 구조가 변경되어도 뷰를 사용하는 응용 프로그램은 변경하지 않아도 된다.

✔ 편리성 : 복잡한 질의를 뷰로 생성함으로써 관련 질의를 단순하게 작성할 수 있다.

✔ 보안성 : 직원의 급여정보와 같이 숨기고 싶은 정 보가 존재할 때 사용

 

➡ 생성 : CREATE VIEW V_PLAYER_TEAM AS SELECT ... ;

➡ 삭제 : DROP VIEW V_PLAYER_TEAM;


그룹함수

ROLLUP 

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

 

CUBE

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

 

GROUPING

해당 ROW가 GROUP BY에 의한 결과면 0, ROLLUP이나 CUBE에 의한 결과는 1

 

GROUPING SETS

인수들에 대한 개별 집계

 


윈도우 함수

행과 행간의 관계를 정의하거나 행과 행간을 비교, 연산하는 함수

 

순위 관련 함수

- RANK : 동일한 값에 대해서는 동일한 순위를 부여 (1,2,2,4)

- DENSE_RANK : 동일한 순위를 하나의 등수로 간 주(1,2,2,3)

  ex) SELECT DENSE_RANK() OVER (ORDER BY SAL DESC) DENSE_RANK

- ROW_NUMBER : 동일한 값이라도 고유한 순위 부 여 (1,2,3,4)

 

집계 관련 함수

- SUM : 파티션별 윈도우의 합 구할 수 있다. ex) 같은 매니저를 두고 있는 사원들의 월급 합

- MAX, MIN : 파티션별 윈도우의 최대, 최소값을 구할 수 있다. ex)같은 매니저를 두고 있는 사원들 중 최대 값

- AVG : 원하는 조건에 맞는 데이터에 대한 통계 값 ex) 같은 매니저 내에서 앞의 사번과 뒤의 사번의 평균

- COUNT : 조건에 맞는 데이터에 대한 통계 값 ex) 본인의 급여보다 적게 받는 인원수

 

행 순서 관련 함수 (SQL Server X 지원)

- FIRST_VALUE : 파티션별 윈도우의 처음 값

- LAST_VALUE : 파티션별 윈도우의 마지막 값

- LAG : 파티션별 윈도우에서 이전 몇 번째 행의 값

- LEAD : 파티션별 윈도우에서 이후 몇 번째 행의 값

 

비율 관련 함수

- RATIO_TO_REPORT : SUM 파티션 내 전체 에 대 한 행별 칼럼 값의 백분율을 소수점으로 구할 수 있 다. >0, <=1 -

- PERCENT_RANK : 파티션별 윈도우에서 처음 값 을 0, 1 마지막 값을 로 하여 행의 순서별 백분율을 구한다. 0>=,<=1

- CUME_DIST : 현재 행보다 작거나 같은 건수에 대 한 누적백분율을 구한다. >0, <=1

- NTILE : 파티션별 전체 건수를 인수 값으로 N등분 한 결과를 구할 수 있다.

반응형

댓글