현재 행 중심으로 읽기
이영희 행을 계산할 때 잠깐 참고하는 범위가 바로 윈도우입니다
윈도우 함수는 테이블 전체를 한 번 요약하는 대신, 각 행마다 관련된 행 묶음을 잡아 계산합니다. 계산은 그 묶음을 보고 하지만, 결과는 현재 행 옆 열에 붙습니다.
이 예시에서 윈도우
개발 부서 3행을 같이 보고 평균을 계산
계산 뒤에도 남는 것
employees의 원래 행 수와 개별 직원 정보
1. 현재 행이 어떤 범위를 보나
같은 부서만 윈도우에 포함
김철수 개발 5000 윈도우
이영희 개발 4000 현재 행
박민수 기획 3500 제외
최지훈 개발 4500 윈도우
정수빈 기획 3800 제외
핵심 관계: 계산 기준은 이영희라는 한 행이지만, 평균을 구할 때는 같은 개발 부서 행들을 함께 봅니다. 이것이 윈도우입니다.
2. 계산은 윈도우로, 결과는 같은 행에
행은 줄지 않음
1
현재 행을 기준으로 잡는다 결과를 써 넣을 위치는 이영희 행입니다.
2
윈도우 안에서 계산한다 개발 부서 급여 5000, 4000, 4500을 보고 평균 4500을 구합니다.
3
현재 행에 계산 열을 추가한다 원래 행은 유지되고, 계산 결과만 새 열로 붙습니다.
예시 식 AVG(salary) OVER (PARTITION BY department)
name dept salary dept_avg
이영희 개발 4000 4500
정리: 윈도우는 각 행이 계산할 때 참고하는 관련 행의 범위이고, 윈도우 함수는 그 범위를 이용해 평균, 순위, 누적합을 구한 뒤 원래 행을 그대로 둔 채 결과를 덧붙입니다.