2013-02-05 4 views
1

다음 쿼리에 대해 1에서 899 사이의 값이 나열 될 것으로 기대됩니다. 그러나 누군가가 이유 당신 미만 899 개 테이블이오라클 쿼리와 ROWNUM

select rownum from all_tables where rownum <900 
+4

이 아마 때문에 667 개의 테이블? –

+0

이 테이블에 900 개의 행이 있습니까? 'allwns에서'선택 rownum을 시도하십시오? –

답변

2

을 찾기 위해 도와 줄 수 1 667으로 만 값을 반환합니다.

+3

필자는 저자가 667 행만 반환하는 방법을 물었습니다. 예상 한 것보다 적은 테이블이 있기 때문에 이것이 정확히 이유입니다. –

+0

내가 생각하는 합리적인 추측입니다. 이것이 왜 대답인지 정확히 설명해 주시면 더 도움이 될 것입니다. – dove

1

때문에 소스 테이블의 행의 부족으로 짧게 오지 않을 것 간단한 행 생성 /보기는 다음과 같습니다

는 시도
select rownum from dual connect by level < 900; 
0
select rownum from all_objects where rownum <900 
1

: 당신은 단지

select level as rnum 
from dual 
connect by level < 900;