집 >데이터 베이스 >MySQL 튜토리얼 >Oracle 페이지 매김 쿼리에서 ROWNUM은 어떻게 작동합니까?
쿼리Select * From Person Where rownum > 100 and rownum < 200
는 ROWNUM이 행을 검색할 때 행에 숫자를 할당하기 때문에 빈 결과 집합을 반환합니다. WHERE
절은 ROWNUM에 할당된 번호가 있는 이후를 필터링합니다. ROWNUM이 100보다 큰 행은 처음 100개 행이 이미 처리되고 ROWNUM 값이 할당된 이후에만 고려됩니다.
Oracle 12c의 Top-n Row 제한 기능은 페이지 매김에 대한 보다 간단한 접근 방식을 제공합니다. Select ... FROM ... WHERE rownum BETWEEN lowerBound AND upperBound
구문은 지정된 범위 내의 행을 직접 선택하므로 하위 쿼리가 필요하지 않습니다.
ROWNUM 열이 표시되지 않도록 하려면 외부 쿼리의 SELECT
목록에 원하는 열을 명시적으로 나열하세요. 또는 쿼리를 캡슐화하는 뷰를 생성하거나 SQL*Plus의 NOPRINT
명령을 사용하여 원치 않는 출력을 억제할 수 있습니다.
ROWNUM을 사용한 정확한 페이지 매김은 올바른 쿼리 구성에 달려 있습니다. 중요한 것은 페이지 전체에서 일관된 행 선택을 보장하기 위해 고유 식별자(기본 키)를 사용하여 결과를 정렬하는 것입니다. ROWNUM 자체로 정렬한다고 해서 FIRST_ROWS(N)
가 무효화되는 것은 아니지만 고유 식별자를 사용하면 의도한 행 검색이 보장됩니다.
위 내용은 Oracle 페이지 매김 쿼리에서 ROWNUM은 어떻게 작동합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!