차이점: 1. Oracle은 페이징 작업에 rownum을 사용합니다. 이 방법은 먼저 쿼리한 다음 정렬하기 때문에 Rownum은 다음보다 작거나 비교할 수 없습니다. 2. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!