일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 나는 어디로?
- 가장 많이 사용되는 파이썬 패키지
- 가장 인기있는 파이썬 패키지
- 데이터 리터러시
- 파이썬 TypeError
- 전세보증보험
- 공개서적
- 주상복합용지 분양
- 임대소득외 추가소득이 있을 경우
- 오라클 데이터베이스 내장함수
- 갤럭시탭 with Pen
- chatgpt 100% 신뢰금지
- 2룸 오피스텔 투자
- Google vs MicorSoft
- 주택임대사업자
- robux
- 오피스텔투자
- 라이브러리 vs 패키지
- 종합과세
- PostgreSQL
- 가장 많이 사용되는 파이썬 라이브러리
- 가장 인기있는 파이썬 라이브러리
- bard 100% 신뢰금지
- Python
- 상업시설용지 분양
- Google vs OpenAI
- 종합소득세
- 다주택임대
- 소형주택 세액감면
- chatgpt vs bard
All thing of the world!
Oracle LEAD 설명 : 오라클 함수 본문
1. 함수의 목적
Oracle LEAD는 현재 커서의 위치 이후의 위치에 대한 액세스를 제공한다. self 조인없이도 두 테이블 이상의 행에 동시에 액세스가 가능하다.
2. 샘플을 통한 개념 퀵뷰
employees 테이블의 각 구매 담당자에 대해 직후에 고용된 직원의 급여를 AFT_SAL컬럼으로 조회한다.
SELECT hire_date, last_name, salary,
LEAD(salary, 1, 0) OVER (ORDER BY hire_date) AS aft_sal
FROM employees
WHERE job_id = 'PU_CLERK'
ORDER BY hire_date;
3. 사용방법
4. 함수 PARAMETER 설명
[value_expr]
어떤 컬럼의 LEAD값을 반환할 것인지에 대한 정의를 넣는 입력 파라미터이다.
[offset]
현재 커서가 위치하고 있는 행의 이후 몇번재 행을 가르킬 건지를 세팅하는 파라미터로, 0보다 큰 숫자로 정의해야 한다. 정의하지 않으면 디폴트로 1이 들어간다.
예를 들어, 소팅된 행의 현재 위치가 10이라고 하면, 12번재 행을 액세스하고 싶다면 2를 offset으로 세팅한다.
[default]
offset의 위치가 widnow scope을 벗어날 경우 디폴트로 어떤 값을 반환할지 적어준다.
좀 더 쉽게 설명하면, window scope이 벗어났다는 것은 후행이 없다는 말과 동일하다.
[{RESPECT | IGNORE} NULLS]
value_expr에 null이 있을 경우 유지할 건지 무시할 것인지를 설정하는 파라미터다.
유지는 RESPECT NULLS, 무시는 IGNORE NULLS이다. 기본값은 REPECT NULLS이다.
5. 다양한 샘플표현
example1) window scope이 벗어났을 경우 반환하는 값을 문자 설정할 수 있을까? 불가능하다.
SELECT A.*,
LEAD(F2,1,'왕초') OVER (ORDER BY F1) LAG_VALUE
FROM
(SELECT 1 F1, 1 F2 FROM DUAL
UNION ALL
SELECT 2 F1, NULL F2 FROM DUAL
UNION ALL
SELECT 3 F1, 3 F2 FROM DUAL) A
;
ORA-01722: 수치가 부적합합니다
01722. 00000 - "invalid number"
*Cause: The specified number was invalid.
*Action: Specify a valid number.
넣을 수 없다.
example2) Department 테이블의 department_id=30에 있는 각 직원에 대해 직후 고용된 직원의 채용 날짜를 NextHired컬럼으로 제공한다.
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;
'IT > Oracle DBMS' 카테고리의 다른 글
Oracle MAX 설명 : 오라클 함수 (0) | 2021.04.03 |
---|---|
Oracle LOCALTIMESTAMP 설명 : 오라클 함수 (0) | 2021.04.03 |
Oracle FLOOR 설명 : 오라클 함수 (0) | 2021.04.03 |
Oracle DB_TIMEZONE 설명 : 오라클 함수 (0) | 2021.04.03 |
Oracle CURRENT_TIMESTAMP 설명 : 오라클 함수 (0) | 2021.04.03 |