본문 바로가기
오라클 게시판/오라클 함수

【오라클(Oracle) SQL 함수】 LEAD 함수

by 기서무나구물 2024. 1. 8.

포스팅 목차

    o LEAD 함수

     


    문 법

     


    목 적

    LEAD 함수는 분석 함수이다. 자체 결합(Self join) 작업을 수행하지 않고 테이블의 다수의 행에 동시에 접근할 수 있다. 쿼리에서 반환된 일련의 행과 커서 위치가 주어진 경우, LEAD 함수는 해당 위치에서 지정된 물리적 오프셋만큼 떨어진 위치의 행에 대한 접근을 할 수 있다.

    오프셋(Offset)을 별도로 지정하지 않으면 기본값은 1이다. 이 경우 현재 행의 바로 다음 행의 값을 가져온다. 오프셋이 테이블의 범위를 초과하는 경우 사용자가 선택적으로 지정하는 기본값(Default)을 반환된다. default를 지정하지 않으면 기본값은 NULL이다. 즉, 현재 행의 위치에서 오프셋만큼 떨어진 곳에 행이 존재하지 않는다면 LEAD 함수는 NULL을 반환하고, 기본값 (Default)을 지정하면 오프셋이 테이블 범위를 벗어날 때 NULL이 아닌 기본값을 반환한다.

    {RESPECT | IGNORE} NULLS는 value_expr 인수의 null 값을 계산에 포함할지 또는 제외할지를 결정한다. 기본값은 RESPECT NULLS 이다.

    value_expr 인수에 LEAD 또는 다른 분석 함수를 사용하여 분석 함수를 중첩하여 사용할 수 없다. 그러나 value_expr 인수에 다른 기본 내장형 함수(built-in function) 표현식을 사용할 수 있다.

     


    패키지 함수 비교 (Oracle, Pandas, R Prog, Dplyr, Sqldf, Pandasql, Data.Table, Duckdb)

     


    예 제

    다음 예제는 직원(employees) 테이블에서 부서 30에 근무하는 각 직원에 대해 해당 직원 바로 뒤에 채용된 직원의 입사 일자를 제공한다:

    Oracle Program
    SELECT hire_date, last_name,
           LEAD(hire_date, 1) OVER (ORDER BY hire_date) AS "NextHired" 
      FROM employees
      WHERE department_id = 30
      ORDER BY hire_date;

     

    Results
    HIRE_DATE LAST_NAME                 Next Hired
    --------- ------------------------- ----------
    07-DEC-02 Raphaely                  18-MAY-03
    18-MAY-03 Khoo                      24-JUL-05
    24-JUL-05 Tobias                    24-DEC-05
    24-DEC-05 Baida                     15-NOV-06
    15-NOV-06 Himuro                    10-AUG-07
    10-AUG-07 Colmenares

     


    오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크

     

    [SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE] SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크

    2024.01 생성

     

    반응형

    댓글