>  기사  >  데이터 베이스  >  오라클에서 rownum의 사용법은 무엇입니까?

오라클에서 rownum의 사용법은 무엇입니까?

WBOY
WBOY원래의
2022-01-20 16:44:3615528검색

Oracle에서 rownum은 Oracle에서 도입한 가상 열입니다. 쿼리 시에만 생성되며 쿼리에서 반환되는 총 행 수를 제한하고 쿼리에서 반환되는 행 수를 할당하는 데 사용됩니다. 1부터 등등. 그리고 rownum 앞에는 테이블 이름이 붙을 수 없습니다.

오라클에서 rownum의 사용법은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 10 시스템, Oracle 11g 버전, Dell G3 컴퓨터.

oracle에서 rownum의 사용법은 무엇입니까

rownum의 경우 oracle 시스템이 쿼리에서 반환된 행에 순차적으로 할당하는 번호이며 반환된 첫 번째 행에는 1이 할당되고 두 번째 행에는 2가 할당됩니다. 이 의사 필드는 쿼리에서 반환되는 총 행 수를 제한하는 데 사용할 수 있으며 rownum 앞에 테이블 이름을 붙일 수 없습니다.

rownum은 오라클에서 도입한 가상 컬럼입니다.
이 가상 열은 물리적으로 존재하지 않으며 쿼리 중에만 생성됩니다. 의사 열은 일반적으로 자유롭게 할당되며 사용자가 수정할 수 없습니다.

Features

rownum에 대한 주요 기능은 다음과 같습니다.

1) rownum은 어떤 테이블에도 속하지 않습니다.

2) Rownum이 존재하기 위한 전제조건은 결과 테이블입니다.

3) rownum은 항상 1부터 시작합니다.

4) rownum은 일반적으로

5) 페이징 쿼리에 rownum을 사용하려면 rownum을 실제 열로 변환하고 rownum에 대해 쿼리해야 합니다.

2. 메커니즘 원리

rownum의 사용법이 이상해 보일 수도 있지만 실제로 메커니즘 원리를 이해하면 매우 간단합니다.

먼저 간단한 실험을 해보겠습니다. 듀얼 테이블에서 모든 필드를 꺼내고 Rownum을 꺼냅니다.

다음 쓰기 방법을 사용하면: t.rownum

오라클에서 rownum의 사용법은 무엇입니까?

이 방법으로 실행하면 01747 오류가 보고됩니다.

오라클에서 rownum의 사용법은 무엇입니까?

사실 이중 테이블에는 rownum 필드가 존재하지 않기 때문에, 따라서 t.rownum 형식을 사용할 수 없습니다.

올바른 작성 방법은 다음과 같습니다.

오라클에서 rownum의 사용법은 무엇입니까?

따라서 rownum은 가상 열이며 어떤 테이블에도 속하지 않습니다.

그렇다면 이 가상 칼럼은 어디서 나온 걸까요. 이해를 돕기 위해 간단한 실험을 진행합니다.

다음과 같이 총 10개의 레코드가 포함된 test_ljb라는 간단한 테이블이 있습니다.

rownum을 추가합니다.

결과는 다음과 같습니다. 10개의 레코드가 선택되었습니다. Rownum 범위는 1부터 10까지입니다. 급여 필터링 조건을 추가합니다.

오라클에서 rownum의 사용법은 무엇입니까?

결과는 다음과 같습니다. Rownum 범위는 다음과 같습니다. 1 to 10. 3

오라클에서 rownum의 사용법은 무엇입니까?

두 번째 결과 테이블의 rownum에 해당하는 직원은 첫 번째 결과와 일치하지 않는다는 점에 유의해야 합니다.

예를 들어 첫 번째 테이블의 rownum이 1이면 Arvin에 해당하고 두 번째 테이블은 Oracle에 해당합니다. 오라클에서 rownum의 사용법은 무엇입니까?

그 이유는 다음과 같습니다.

rownum은 결과 집합에 추가된 의사 열, 즉 결과 집합을 먼저 찾은 후에 추가되는 열이기 때문입니다.

간단히 말하면 rownum은 조건을 만족하는 결과의 시퀀스 번호입니다. 항상 1부터 시작하므로 선택한 결과는 1을 건너뛸 수 없으며 1보다 큰 다른 값을 가질 수 없습니다.

즉, rownum은 동적이며 새로운 결과 집합에 따라 실시간으로 변경됩니다.

추천 튜토리얼: "

Oracle Tutorial

"

위 내용은 오라클에서 rownum의 사용법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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