본문 바로가기
IT/Oracle

[Oracle] - 오라클 rownum 사용법(ORDER BY 정렬 서브쿼리 처리)

by 차이나는 개발자 2022. 7. 15.
728x90
반응형

#오라클 rownum 사용법(ORDER BY 정렬 서브쿼리 처리)

 

 

#ROWNUM 

-ROWNUM은 SELECT시에 설정되므로 ORDER BY절이 있으면 번호가 섞이게 됩니다.

ORDER BY절 사용시에는 서브쿼리로 한번 묶은 후 바깥에서 ROWNUM을 사용하면됩니다.

 

#EMP 테이블 조회

SELECT * FROM EMP;

 

-결과

7839	KING
7698	BLAKE
7782	CLARK
7566	JONES
7788	SCOTT
7902	FORD
7369	SMITH
7499	ALLEN
7521	WARD
7654	MARTIN
7844	TURNER
7876	ADAMS
7900	JAMES
7934	MILLER

 

 

#ROWNUM 조회

SELECT EMPNO, ENAME, ROWNUM FROM EMP;

 

-결과

7839	KING	1
7698	BLAKE	2
7782	CLARK	3
7566	JONES	4
7788	SCOTT	5
7902	FORD	6
7369	SMITH	7
7499	ALLEN	8
7521	WARD	9
7654	MARTIN	10
7844	TURNER	11
7876	ADAMS	12
7900	JAMES	13
7934	MILLER	14

 

 

#ORDER BY절 추가해서 조회

SELECT EMPNO, ENAME, ROWNUM FROM EMP ORDER BY ENAME DESC;

 

-결과

7521	WARD	9
7844	TURNER	11
7369	SMITH	7
7788	SCOTT	5
7934	MILLER	14
7654	MARTIN	10
7839	KING	1
7566	JONES	4
7900	JAMES	13
7902	FORD	6
7782	CLARK	3
7698	BLAKE	2
7499	ALLEN	8
7876	ADAMS	12

 

 

#서브쿼리로 묶은 후 ROWNUM으로 조회

SELECT A.EMPNO, A.ENAME, ROWNUM
FROM
(
	SELECT EMPNO, ENAME FROM EMP ORDER BY ENAME DESC
) A;

 

-결과

7521	WARD	1
7844	TURNER	2
7369	SMITH	3
7788	SCOTT	4
7934	MILLER	5
7654	MARTIN	6
7839	KING	7
7566	JONES	8
7900	JAMES	9
7902	FORD	10
7782	CLARK	11
7698	BLAKE	12
7499	ALLEN	13
7876	ADAMS	14

 

 

 

728x90
반응형

댓글