원본 본문으로 이동하기

오라클로 MySQL의 LIMIT를 구현해보기

쿠에 - 요즘 학교 과제로 오라클을 이용해 JSP처리하는 법을 배우고 있습니다. EL과 JSTL을 이용해 JSP에서 손쉽게 request의 인자나 속성을 이용해 값을 주고 받을 수 있지만 DB에서 DDL등 오라클에 맞는 쿼리문을 만들어야 되서 고생했습니다. 초짜라 그냥 쿼리문만 딸랑 올려놓겠지만 누군가 살을 붙여서 포스팅 해주었으면 좋겠습니다. MySQL에서는 LIMIT문으로 어디에서 어디까지 범위로 값을 간단하게 가져올 수 있지만 오라클은 그냥 ROWNUM이란 가상 인덱스 번호를 붙여주어 BTWEEN~AND로 가져오면 잘리는 현상이 발생합니다. 그래서 3중으로 서브쿼리문을 써서 해결했습니다. SELECT [가상열], [가져올 열 이름] FROM(SELECT ROWNUM [가상열], [가져올 열 이름] FROM (SELECT * FROM [테이블명] ORDER BY [정렬기준열] DESC)) WHERE [가상열] BETWEEN ? AND ? 여기서 가상열은 ROWNUM의 별명으로 두번째 SELECT문의 ROWNUM옆에 정의한 이름입니다. 이렇게 하면 MySQL LIMIT문이랑 비슷하게 작동합니다. - Oracle MySQL