>데이터 베이스 >MySQL 튜토리얼 >오라클 페이징과 mysql 페이징의 차이점은 무엇입니까

오라클 페이징과 mysql 페이징의 차이점은 무엇입니까

WBOY
WBOY원래의
2022-01-05 11:13:226271검색

차이점: 1. Oracle은 페이징 작업에 rownum을 사용합니다. 이 방법은 먼저 쿼리한 다음 정렬하기 때문에 Rownum은 다음보다 작거나 비교할 수 없습니다. 2. MySQL은 페이징 작업에 제한을 사용할 수 없습니다. 계산식을 작성할 때 미리 계산해 놓아야 합니다.

오라클 페이징과 mysql 페이징의 차이점은 무엇입니까

이 튜토리얼의 운영 환경: windows10 시스템, mysql8.0.22 버전, Dell G3 컴퓨터.

oracle 페이징과 mysql 페이징의 차이점은 무엇입니까

1. 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에서 시작하여 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 비디오 튜토리얼

위 내용은 오라클 페이징과 mysql 페이징의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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