Oracle은 SQL 언어 표준을 완벽하게 지원하는 널리 사용되는 데이터베이스 관리 시스템입니다. 많은 시나리오에서 데이터 관리 및 보기를 용이하게 하기 위해 페이지에 쿼리 결과를 표시해야 합니다. 다음으로 이 기사에서는 Oracle이 페이징 작업을 수행하는 방법을 소개합니다.
1. 페이징에 ROWNUM 사용
Oracle은 반환된 결과 집합의 각 행을 고유한 값으로 식별할 수 있는 ROWNUM 함수를 제공하며, 값의 개수는 1부터 순차적으로 증가합니다. 이 함수는 다음과 같은 특징을 가지고 있습니다.
그런 다음 ROWNUM 함수를 사용하여 데이터 페이징 작업을 수행할 수 있습니다. 구체적인 구현 단계는 다음과 같습니다.
예:
SELECT FROM (SELECT A., ROWNUM RN FROM (SELECT * FROM user_data ORDER BY user_id) A WHERE ROWNUM <= 20) WHERE RN >= 1;
위의 SQL에서 명령문, 하위 쿼리 명령문을 사용하여 user_data 테이블의 모든 데이터를 쿼리하고 user_id 필드에 따라 정렬합니다. 마지막으로 쿼리 결과 세트를 기반으로 ROWNUM 함수를 사용하고 쿼리 결과 세트에 반환되는 행 수를 20개 행으로 제한합니다. 위의 SQL문을 사용한 결과는 1행부터 20행까지의 데이터 레코드이다.
2. 페이징에 OFFSET...FETCH 사용
ROWNUM 페이징 방법의 한계를 고려하여 Oracle은 버전 12c부터 새로운 페이징 방법, 즉 OFFSET FETCH 삽입 구문을 제공합니다. ROWNUM 함수와 비교하여 OFFSET FETCH 구문의 특징은
구체적인 사용법은 다음과 같습니다.
SELECT * FROM user_data ORDER BY user_id OFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY;
위의 SQL 문에서 OFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY 구문은 지정된 오프셋은 라인 0이며, 20라인의 데이터 레코드를 얻습니다.
요약:
Oracle은 ROWNUM 함수와 OFFSET FETCH 구문이라는 두 가지 페이징 데이터 쿼리 방법을 제공합니다. ROWNUM 함수는 데이터의 양이 적고 페이징 작업을 한 번만 수행하면 되는 상황에 적합합니다. OFFSET FETCH 구문은 데이터 양이 많고 연속적으로 여러 페이징을 쿼리해야 하는 상황에 적합합니다.
위 내용은 오라클에서 페이지 매김하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!