Skip Headers

오라클 10g 함수
10g Release 1 (10.1)
Go to Documentation Home
HOME
Go to Book List
ORA_home
Go to Table of Contents
연구회
Go to Index
자료실
Go to Master Index
ORA_10G
Go to Feedback page
MAIL

Go to previous page
Previous
Go to next page
Next

LAG

문법

MAIN

lag::=
Description of lag.gif follows

그림 설명

See Also:

"Analytic Functions " for information on syntax, semantics, and restrictions, including valid forms of value_expr

목적

MAIN

LAG함수는 분석 함수이다. 이 함수는 Self 조인 없이 동시에 테이블의 하나 이상의 행에 Access를 실행한다. 쿼리로부터 반환되는 행의 Series나 커서의 위치를 지정하면, LAG는 그 위치보다 이전에 주어진 행에 ACCESS를 실행한다.

만약 Offset을 지정하지 않으면, 기본적으로 1이다. 만약 Offset이 윈도우의 유효 범위를 넘었을경우, 옵션의 기본값이 반환된다. 만약 default값을 지정하지 않으면, 그것의 default는 NULL이다.

value_expr에 대하여 LAG 또는 다른 분석 함수를 지정할수 없다. Nest 분석 함수는 사용할 수 없지만, value_expr에 대하여 다른 built-in 함수를 사용할수 있다.

LEAD와 LAG 분석 함수는 동일한 테이블에 있는 다른 행의 값을 참조하기 위한 함수이다. LAG 분석 함수는 현재 행을 기준으로 이전 값을 참조하는 함수이고, LEAD 분석 함수는 이후의 값을 참조하는 함수이다. LAG와 LEAD 분석 함수에서 지정하는 인수는 현재 행을 기준으로 몇 번째 행을 참조할 것인지를 지정하며, 음수는 사용할 수 없다. 실무 데이터베이스에서 LAG와 LEAD 분석 함수는 일별 매출 추이 등과 같이 연속적인 데이터 값을 분석할 때 유용하게 사용할 수 있다.


See Also:

"About SQL Expressions " for information on valid forms of expr and LEAD


 

예제

MAIN

음 예제는 employees 테이블에서 각 판매원에 대하여, 직전에 고용된 종업원의 급여를 계산한다.

SELECT last_name, hire_date, salary,
   LAG(salary, 1, 0) OVER (ORDER BY hire_date) AS prev_sal
   FROM employees
   WHERE job_id = 'PU_CLERK';
   
LAST_NAME                 HIRE_DATE     SALARY   PREV_SAL
------------------------- --------- ---------- ----------
Khoo                      18-MAY-95       3100          0
Tobias                    24-JUL-97       2800       3100
Baida                     24-DEC-97       2900       2800
Himuro                    15-NOV-98       2600       2900
Colmenares                10-AUG-99       2500       2600