-
MySQL의 LIMIT 기능을 Oracle에서 ROWNUM을 이용해 구현DataBase/Oracle 2018. 8. 13. 13:27
MySQL에는 Limit라는 기능이 있는데,
Oracle에서 이와 같은 기능을 만들 필요가 있었다.
MySQL의 Limit는 데이터 수에 원하는 만큼 제한을 둘 수 있는 기능이다.
1) 데이터를 5개만 가져옴 in MySQL
1SELECT * FROM demo_table LIMIT 5;cs 1-1) 데이터를 5개 이하만큼 가져옴 in Oracle
1SELECT * FROM demo_table WHERE ROWNUM <= 5;cs 2) 데이터를 1개만 가져옴 in MySQL
1SELECT * FROM demo_table LIMIT 1;cs 2-1) 데이터를 1개만 가져옴 in Oracle
1SELECT * FROM demo_table WHERE ROWNUM = 1;cs 3) 데이터를 11번째 데이터부터 20개를 불러옴 in MySQL
1234SELECT * FROM demo_table LIMIT (불러오고 싶은 데이터 순서-1 즉, 미만), (제한을 둘 데이터의 갯수);SELECT * FROM demo_table LIMIT 10, 20;cs 3-1) 데이터를 11번째 데이터부터 20개를 불러옴 in Oracle
123456789101112131415SELECT *FROM(SELECT ROWNUM AS RNUM, A.*FROM ( 조회할 데이터의 쿼리 ) AWHERE ROWNUM <= '조회할 데이터의 최대 ROW')WHERE RNUM > '조회할 데이터의 최소값-1';SELECT *FROM(SELECT ROWNUM AS RNUM, A.*FROM ( 조회할 데이터의 쿼리 ) AWHERE ROWNUM <= 10+20(동적으로 만들 경우를 대비해 시작순서와 데이터 갯수를 더해주는 식))WHERE RNUM > 10;cs 'DataBase > Oracle' 카테고리의 다른 글
[Oracle] 컬럼에 html 데이터를 insert 혹은 update하는 방법 (0) 2018.08.22 MySQL의 INSERT IGNORE을 Oracle에서 구현하기 (0) 2018.08.17 on duplicate key update(MySQL) Vs merge into(Oracle) 사용법 (0) 2018.08.10 Oracle(오라클) auto commit 설정하기 (0) 2018.08.10 ORA-00909: 인수의 개수가 부적합합니다. "invalid number of arguments" (0) 2018.08.10