본문 바로가기

DB/MySQL

[MySQL] 페이징처리 - Orcle과 MySQL 차이 (ROWNUM, LIMIT)

728x90
반응형

기존 Oracle 사용하던 프로젝트를 MySQL로 변환하는 작업을 하면서 페이징처리 시 사용하는 문법이 달라서 

차이를 간단하게 정리해 보려고 한다.

 

 

예시 : CBOARD 테이블의 1~3까지 행을 출력하시오

Oracle은 ROWNUM 사용!

-> SELECT * FROM (SELECT B.*, ROWNUM FROM (SELECT * FROM CBOARD ORDER BY ROWNUM DESC) B WHERE ROWNUM <= 3 ) WHERE ROWNUM >= 1

 

MySQL은 LIMIT 사용!

SELECT * FROM 테이블명 ORDER LIMIT 숫자(A), 숫자(B)

위 쿼리는 (A+1)부터 B개의 행을 출력, 1~3 일경우에는 앞 숫자는 -1한 값인 0이여야 한다. 

-> SELECT * FROM CBOARD ORDERS LIMIT 0,3

 

Oracle에서 ROWNUM사용할때는 길었던 코드가 MySQL에서 LTMIT을 사용하면 간결하게 표현이 가능하다...! 

728x90
반응형