Oracle의 간격 쿼리 문은 무엇입니까?

WBOY
풀어 주다: 2022-06-10 17:09:18
원래의
3505명이 탐색했습니다.

oracle의 간격 쿼리 문: 1. 테이블에 지정된 처음 몇 개의 데이터를 쿼리하는 "rownum

Oracle의 간격 쿼리 문은 무엇입니까?

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

오라클의 간격 쿼리문이란 무엇인가요?

오라클은 rownum 키워드를 사용하여 이런 쿼리를 구현합니다.

Oracle의 간격 쿼리 문은 무엇입니까?

⾸ 먼저 지리 정보 테이블 영역이 있고 해당 테이블 구조는 다음과 같습니다. 아래 그림:

Oracle의 간격 쿼리 문은 무엇입니까?

테이블의 데이터는 아래와 같습니다(select * from Area 문의 결과).

1) 테이블의 처음 8개 레코드를 쿼리합니다.

select * from area where rownum <= 8
로그인 후 복사

쿼리 결과

Oracle의 간격 쿼리 문은 무엇입니까?

2) 2~8번째 레코드를 쿼리합니다

이러한 쿼리 형식은 Oracle이 MySQL만큼 편리하지 않습니다. 하위 쿼리나 집합 연산을 사용하여 구현해야 합니다. 이를 달성하기 위해 다음 세 가지 방법을 사용할 수 있습니다.

A: select id,province,city,district from (select id,province,city,district,rownum as num from area) where num between 2 and 8;
로그인 후 복사

※ 먼저, 선택 ID, 지방, 도시, 구역, rownum을 지역의 num으로 기반으로 임시 테이블을 가져옵니다. 이 임시 테이블에는 rownum 열이 있습니다(Pseudo).

rowid와 비슷하지만 rowid와는 다릅니다. rowid는 물리적으로 존재하는 열입니다. 즉, Oracle의 모든 테이블에는 rowid 열이 있고 rownum은 물리적으로 존재하지 않습니다.),

그런 다음 임시에서 쿼리합니다. 테이블.

B: select * from area where rownum <= 8 minus select * from area where rownum < 2;
로그인 후 복사

첫 번째 선택에는 나타나지만 두 번째 선택에는 나타나지 않는 레코드를 반환하는 집합 빼기 연산자 마이너스를 사용하세요.

C: select id,province,city,district from (select id,province,city,district,rownum as num from area) where num >=2
intersect
로그인 후 복사

select * rownum

우회를 수행하는 집합 교차 연산자 intersect를 사용합니다(그러나 이 우회는 rownum이 특정 숫자보다 큰 쿼리를 구현합니다). 먼저 A의 방법을 사용합니다.

rownum이 2보다 큰 모든 레코드를 가져오는 쿼리를 수행한 다음 rownum이 8보다 작거나 같은 레코드 집합과 교차 연산을 수행합니다. 아래 그림과 같이 세 가지 작업으로 얻은 결과는 동일합니다.

Oracle의 간격 쿼리 문은 무엇입니까?

추천 튜토리얼: "Oracle Video Tutorial"

위 내용은 Oracle의 간격 쿼리 문은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿