>데이터 베이스 >MySQL 튜토리얼 >Oracle 페이지 매김 쿼리에서 ROWNUM은 어떻게 작동합니까?

Oracle 페이지 매김 쿼리에서 ROWNUM은 어떻게 작동합니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-19 06:47:09344검색

How Does ROWNUM Work in Oracle Pagination Queries?

Oracle Pagination의 ROWNUM 이해

질문 1: ROWNUM 범위의 결과가 비어 있는 이유는 무엇입니까?

쿼리Select * From Person Where rownum > 100 and rownum < 200는 ROWNUM이 행을 검색할 때 행에 숫자를 할당하기 때문에 빈 결과 집합을 반환합니다. WHERE 절은 ROWNUM에 할당된 번호가 있는 이후를 필터링합니다. ROWNUM이 100보다 큰 행은 처음 100개 행이 이미 처리되고 ROWNUM 값이 할당된 이후에만 고려됩니다.

질문 2: Oracle 12c에서 단순화된 ROWNUM 쿼리

Oracle 12c의 Top-n Row 제한 기능은 페이지 매김에 대한 보다 간단한 접근 방식을 제공합니다. Select ... FROM ... WHERE rownum BETWEEN lowerBound AND upperBound 구문은 지정된 범위 내의 행을 직접 선택하므로 하위 쿼리가 필요하지 않습니다.

질문 3: ROWNUM 열 생략

ROWNUM 열이 표시되지 않도록 하려면 외부 쿼리의 SELECT 목록에 원하는 열을 명시적으로 나열하세요. 또는 쿼리를 캡슐화하는 뷰를 생성하거나 SQL*Plus의 NOPRINT 명령을 사용하여 원치 않는 출력을 억제할 수 있습니다.

질문 4: ROWNUM으로 정확한 페이지 매김 달성

ROWNUM을 사용한 정확한 페이지 매김은 올바른 쿼리 구성에 달려 있습니다. 중요한 것은 페이지 전체에서 일관된 행 선택을 보장하기 위해 고유 식별자(기본 키)를 사용하여 결과를 정렬하는 것입니다. ROWNUM 자체로 정렬한다고 해서 FIRST_ROWS(N)가 무효화되는 것은 아니지만 고유 식별자를 사용하면 의도한 행 검색이 보장됩니다.

위 내용은 Oracle 페이지 매김 쿼리에서 ROWNUM은 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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