#Oracle LAG(expr [,offset] [,default]) OVER([partition_by_clause] order_by_clause) LEAD(expr [,offset] [,default]) OVER([partition_by_clause] order_by_clause) LAG 함수 : 이전 행의 값을 리턴 LEAD 함수 : 다음 행의 값을 리턴 expr : 대상 컬럼명 offset : 값을 가져올 행의 위치 기본값은 1, 생략가능 default : 값이 없을 경우 기본값, 생략가능 partition_by_clause : 그룹 컬럼명, 생략가능 order_by_clause : 정렬 컬럼명, 필수 - 기본사용 ```SQL SELECT empno , ename , job , sal , LAG(empno) OVER(ORDER BY empno) AS empno_prev , LEAD(empno) OVER(ORDER BY empno) AS empno_next , LEAD(empno, 2, 9999) OVER(ORDER BY empno) AS empno_next2 FROM emp WHERE job IN ('MANAGER', 'ANALYST', 'SALESMAN') ``` - 그룹컬럼 기준 ```SQL SELECT empno , ename , job , sal , LAG(job) OVER(PARTITION BY job ORDER BY empno) AS empno_prev FROM emp WHERE job IN ('MANAGER', 'ANALYST', 'SALESMAN') ```