Oracle rownum记忆

WBOY
WBOY원래의
2016-06-07 16:46:32964검색

oracle的rownum是伪列,它的原理网上面有很多,可是我们还是很容易混乱,其实我们对于它的原理了解一下就好了,重要的是使用,所

Oracle的rownum是伪列,,它的原理网上面有很多,可是我们还是很容易混乱,其实我们对于它的原理了解一下就好了,重要的是使用,所以我们只要能够确保自己在使用的时候不出错就好了,但是如果我们又对它的原理一点也不清楚又不行,因此我们还需要通过一种方式来记住它的特殊性,我们用一种较为简单的方法来记住它的特殊之处就行了。

1.rownum它不可以使用任何的表作为自己的前缀,因为它并不是任何表里面的一个固定的字段,它只是查询结果集的一个顺序。

2.它总是从1开始,进行判断的时候也是从1开始的。

所以我们可以这样来记忆:一个查询语句是否会成立有一个很简单的判断标准,就是“对1成立,查询成立;对1不成立,查询不成立”;

比如我们要查询emp表的前5条记录我们可以这样:select * from emp where rownum

但是如果我们要查询出来3到5条记录,那么如果我们这样写:select * from emp where rownum>3 and rownum3就不成立了,所以结果就是不成了,所以我们得不到结果。

因此如果我们要得到结果的话,我们需要使用子查询来处理了select * from (select  rownum rn,emp.* from emp where rownum3;这样来做就没有问题了。

更多Oracle相关信息见Oracle 专题页面 ?tid=12

linux

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