-
SQL_ROWNUM & TOP-N 방식Data Base_Oracle/SQL 2020. 1. 9. 22:27
ROWNUM
화면에 레코드가 출력될 때 가상으로 번호를 매겨서 같이 출력
Oracle에서 사용하는 예약어§ 형식
[ SQL> select rownum, 필드명1, 필드명2,,,, from 테이블명; ]
# 예제
▷ emp 테이블에서 사원번호, 이름에 번호를 매겨서 출력
▶ [ SQL> select rownum, empno, ename from emp; ]
ROWNUM EMPNO ENAME 1 7369 SMITH 2 7499 ALLEN ... ... ... ※ 실제 필드가 존재하는 것은 아니며, 보기 편하게 행을 구분해주는 가상 필드
※ 별칭 부여 가능
▶ [ SQL> select rownum empno, ename from emp ]
EMPNO ENAME 1 SMITH 2 ALLEN ... ... TOP-N
Top-N 방법
위에서부터 N번째 레코드까지 출력하는 방식§ 형식
[ SQL> select rownum 별칭, 필드명,,, 테이블명.*
from(
select 필드명,,,,
from 테이블명
order by 필드명 desc
)
where 조건식; ]※ 테이블명.* : select * from table 과 같은 기능
# 예제
▷ emp테이블에서 가장 최근에 입사한 3명의 이름, 입사일 출력
▶ [ SQL> select rownum num, ename, hiredate
from (
select ename, hiredate
from emp
order by hiredate desc
)
where rownum <= & num;
num의 값을 입력하십시오 : 3 ]NUM ENAME HIREDATE 1 ADAMS 87/05/23 2 SCOTT 87/04/19 3 MILLER 82/01/23
Oracle을 이용해서 페이징처리를 할 때 필요한 ROWNUM과 TOP-N 정렬 방식에 대해 알아보았습니다.
ROWNUM의 경우 필드의 레코드에 숫자를 매겨주기 때문에 평소에도 데이터를 편하게 보는 방법으로 사용할 수 있겠습니다.
'Data Base_Oracle > SQL' 카테고리의 다른 글
SQL_ROLLBACK & SAVEPOINT (0) 2020.01.09 SQL_TRANSACTION 개요 & COMMIT (0) 2020.01.09 SQL_VIEW OPTIONS [WITH READ ONLY] (0) 2020.01.09 SQL_VIEW OPTIONS [WITH CHECK OPTION] (0) 2020.01.09 SQL_VIEW OPTIONS [OR REPLACE] (0) 2020.01.09