SELECT SUM(SAL) OVER (
PARTITION BY MGR
ORDER BY HIREDATE -- DEFAULT ASC
ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING
) AS MGR_SUM FROM Mytest;
- PARTITION BY MGR
MGR(관리자) 별로 데이터를 그룹(파티션) 으로 나눕니다.
즉, 같은 MGR을 가진 직원들끼리만 윈도우 함수가 작동합니다.
- ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING
현재 행을 기준으로 이전 1행 + 현재 행 + 다음 1행을 윈도우(창)으로 설정합니다.
이 범위 내의 값을 이용해서 합계나 평균 등을 계산합니다.
📘 SQL JOIN 종류 요약표
| JOIN 종류 | 키워드 | 반환되는 행 | 설명 |
|---|---|---|---|
| INNER JOIN | INNER JOIN | 양쪽 테이블에 공통된 값이 있는 행만 | 가장 기본적인 조인. 교집합처럼 동작 |
| LEFT OUTER JOIN | LEFT JOIN | 왼쪽 테이블의 모든 행 + 오른쪽 일치행 | 오른쪽에 없으면 NULL로 표시 |
| RIGHT OUTER JOIN | RIGHT JOIN | 오른쪽 테이블의 모든 행 + 왼쪽 일치행 | 왼쪽에 없으면 NULL로 표시 |
| FULL OUTER JOIN | FULL JOIN | 양쪽 테이블의 모든 행 | 일치하지 않으면 NULL 채움 (Oracle은 UNION으로 대체) |
| CROSS JOIN | CROSS JOIN | 두 테이블의 모든 행 조합 | 곱집합 (모든 조합을 생성) |
| SELF JOIN | 자기 자신과 조인 | 조건에 따라 자기 자신과 연결 | 계층 구조 표현 등에 사용 |