Min IT's Devlog

[SQLD] 단답형 부족한 개념 정리 본문

자격증/SQLD(완료)

[SQLD] 단답형 부족한 개념 정리

egovici 2022. 3. 8. 02:56

1. CHAR에 대한  DB별 다른 처리

TAB1  COL1 CHAR(10), COL2 CHAR(10)

INSERT INTO TAB1 VALUES('1','');

 

=> CHAR의 경우 해당 문자 크기만큼 값이 들어오지 않으면 자동으로 공백으로 채우게됨

 

Oracle

- 채워진 공백에 대해서 LENGTH함수는 1개로 처리

- ''로 들어오는 경우 NULL로 처리

 

SQL Server

- 채워진 공백에 대해서 LEN함수는 0개로 처리

-''로 들어오는 경우 ''로 그대로 처리

 

2. Window 함수

 

SELECT WINDOW_FUNCTION(ARGUMENTS) OVER
([PARTITION BY 칼럼][ORDER BY 절][WINDOWING 절])
FROM 테이블명

WINDOWING절

ROWS|RANGE BETWEEN
UNBOUNDED PRECEDING | CURRENT ROW | VALUE_EXPR PRECEDING/FOLLOWING
AND
UNBOUNDED FOLLOWING | CURRENT ROW | VALUE_EXPR PRECEDING/FOLLOWING

ROWS | RANGE
UNBOUNDED PRECEDING | CURRENT ROW | VALUE_EXPR PRECEDING

DEFUALT
RAGNE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW

 

3. 백분율 Window Function

RATIO_TO_REPORT 함수

- 파티션 내 전체 SUM값에 대한 행렬 칼럼 값의 백분율을 소수점으로 구할 수 있음

- 0< <=1의 범위를 가짐/ 개별 RATIO의 합을 구하면 1이 됨

- SQL Server에서는 지원하지 않는 함수

 

PERCENT_RANK 함수

- 파티션별 원도우에서 제일 먼저 나오는 것을 0으로, 제일 늦게 나오는 것을 1로 하여 값이 아닌 행의 순서별 백분율을 구함

- 0< <=1의 범위를 가짐

- SQL Server에서는 지원하지 않는 함수

 

CUME_DIST 함수

- 파티션별 윈도우의 전체건수에서 현재 행보다 작거나 가은 건수에 대한 누적백분율을 구함

- 0< <=1의 범위를 가짐

- SQL Server에서는 지원하지 않는 함수

 

NTILE 함수

- 파티션별 전체 건수를 ARGUMENT 값으로 N등분한 결과를 구함

Comments