>데이터 베이스 >MySQL 튜토리얼 >Mysql과 Oracle 페이징의 차이점에 대한 자세한 설명

Mysql과 Oracle 페이징의 차이점에 대한 자세한 설명

黄舟
黄舟원래의
2017-09-06 14:43:381984검색

Mysql은 rownum 페이징을 사용하고 Oracle은 rownum 페이징을 사용합니다. 이 글을 통해 Oracle과 Mysql 페이징의 차이점을 소개하겠습니다. 필요한 친구들은 참고하세요

select * from stu limit m, n; //m = (startPage-1)*pageSize,n = pageSize
.

PS :


(1) 첫 번째 매개변수 값 m은 시작 줄을 나타내고 두 번째 매개변수는 차지할 줄 수(페이지 크기)를 나타냅니다.

(2) m= (2-1)*10+1,n =10, 제한 11,10이 11행에서 시작하여 2페이지의 데이터인 10행을 차지함을 나타냅니다.

(3) m 및 n 매개변수 값은 명령문의 계산식에 쓸 수 없습니다. 값은 명령문에 쓰기 전에 계산해야 합니다.

2 Oracle은 페이징에 rownum을 사용합니다

select * from (
select rownum rn,a.* from table_name a where rownum <= x
//结束行,x = startPage*pageSize
)
where rn >= y; //起始行,y = (startPage-1)*pageSize+1

PS:


(1)>= y, <= x는 y행(시작 행)에서 x행(종료 행)까지를 의미합니다. ).

(2) rownum은 보다 작거나 크지 않은 경우에만 비교할 수 있습니다. 왜냐하면 rownum은 먼저 쿼리된 다음 정렬되기 때문입니다. 예를 들어 조건이 rownum>1인 경우 첫 번째 데이터 조각이 쿼리되고 rownum이 1입니다. , 조건이 충족되지 않습니다. 2차, 3차...는 비슷하지만 조건을 만족한 적이 없어서 결과가 나오지 않았습니다. 따라서 쿼리할 때 별칭을 설정한 다음 쿼리가 완료된 후 별칭을 호출하여 보다 큰 값을 확인해야 합니다.

요약

위 내용은 Mysql과 Oracle 페이징의 차이점에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.