더북(TheBook)

2 윈도우 함수

① 윈도우는 로우의 그룹으로, OVER 절에 정의하며 PARTITION BYORDER BY 절이 이에 속합니다.

② 집계 쿼리에서도 GROUP BY 절로 로우의 그룹을 지정할 수 있지만 그룹화하는 칼럼 값에 따라 로우 수가 줄어듭니다. 하지만 윈도우를 사용하면 로우 수를 유지하면서도 집계 값을 계산할 수 있습니다.

OVER 절은 PARTITION BYORDER BY 절로 구성되는데, PARTITION BY는 로우의 그룹인 파티션을 지정하고 ORDER BY 절은 로우의 순서를 지정합니다.

OVER 절과 함께 집계 함수나 윈도우 함수를 사용할 수 있습니다.

⑤ 윈도우 함수로는 ROW_NUMBER(), RANK(), DENSE_RANK(), PERCENT_RANK(), LAG(), LEAD(), NTILE(), FIRST_VALUE(), LAST_VALUE(), NTH_VALUE() 등이 있습니다.

⑥ 윈도우를 정의할 때 프레임 절을 추가해 하나의 파티션에 대한 하위 그룹을 추가로 지정할 수 있습니다.

⑦ 윈도우 함수인 FIRST_VALUE(), LAST_VALUE(), NTH_VALUE()는 프레임 절과 함께 사용할 수 있고, 나머지 윈도우 함수는 프레임 절과 관계없이 값을 반환합니다.

⑧ 윈도우의 별칭을 지정하면 집계 함수나 윈도우 함수의 OVER 절에서 별칭을 사용할 수 있습니다.

3

① 뷰는 테이블과 유사한 독립적인 데이터베이스 객체지만 실제 데이터를 저장하지 않습니다.

② 자주 사용되는 복잡한 쿼리를 뷰로 만들면 편리하게 사용할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.