본문 바로가기

자격증고나리/⚽ SQLD 슈웃

[SQL] 이전, 이후 행과 관련된 키워드(LAG, LEAD / PRECEDING, FOLLOWING)

윈도우 함수에서 범위를 정의하거나 행의 위치를 나타내는 데 사용되는 키워드 정리

LAG()

현재 행을 기준으로 이전의 행을 가리켜 값을 가져오는 키워드

LAG(column, offset, default)
-- column : 값을 가져올 컬럼명,
-- offset : 몇 개의 행 이전의 값을 가져올건지 ( 3행 전의 값 등등.. )
-- default : 지정된 행이 없을때 반환할 기본값 설정

LEAD() / READ()

현재 행을 기준으로 이후 행을 가리켜 값을 가져오는 키워드

LEAD(column, offset, default)
-- column : 값을 가져올 컬럼명,
-- offset : 몇 개의 행 이후의 값을 가져올건지 ( 3행 후의 값 등등.. )
-- default : 지정된 행이 없을때 반환할 기본값 설정

 

PRECEDING과 FOLLOWING은 범위를 지정해 범위의 행 모두를 가리킨다는 점에서 

위의 두 키워드와 차이가 있다

 

PRECEDING

기준 행 이전 행들을 가리키는 데 사용되는 키워드 

RANGE BETWEEN 10 PRECEDING AND CURRENT ROW
-- 현재 행을 기준으로 이전의 10개 행을 가리킴

FOLLOWING

기준 행 이후의 행들을 가리키는 데 사용되는 키워드

RANGE BETWEEN CURRENT ROW AND 10 FOLLOWING
-- 현재 행을 기준으로 이후의 10개 행을 가리킴

 

두 키워드를 합쳐서도 사용 가능함

RANGE BETWEEN 10 PRECEDING AND 10 FOLLOWING