oracle 12c
5. 페이징 처리가능 (12c 뉴피처)
오운학
2024. 4. 26. 15:37
정렬된 결과에서 상위 몇개의 데이터만 가져올 때 특정 행을 제외하고 출력할 수 있다.
예제1. SCOTT의 월급을 3500으로 변경합니다.
update emp
set sal = 3500
where ename='SCOTT';
commit;
예제2. 이름과 월급을 조회하는데 위의 3개의 데이터만 가져오시오!
select ename, sal
from emp
fetch first 3 rows only;
#3. 월급이 높은 사원순으로 이름과 월급을 조회하는데 위의 3개의 데이터만 가져오세요
select ename, sal
from emp
order by sal desc
fetch first 3 rows only
#4. 월급이 높은 사원부터 이름과 월급을 출력하는데 2번째 행 까지는 제외하고 3번째 행부터 출력되게 하세요
(offset 사용)
select ename, sal
from emp
order by sal desc
offset 2 rows fetch first 3 rows only;
#5. offset 안쓰고 위의 결과를 출력하세요(11g, 튜닝전)
select *
from (select rownum rnum, t.*
from (select ename , sal
from emp
order by sal desc) t
where rownum < = 5
)
where rnum >=3;