易截截图软件、单文件、免安装、纯绿色、仅160KB

(Oracle)rownum用法详解

(Oracle)rownum用法详解
2008-08-06 15:41
对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,且rownum不能以任何表的名称作为前缀。
(1) rownum 对于等于某值的查询条件
如果希望找到学生表中第一条学生的信息,可以使用rownum=1作为条件。但是想找到学生表中第二条学生的信息,使用rownum=2结果查不到数据。因为rownum都是从1开始,但是1以上的自然数在rownum做等于判断是时认为都是false条件,所以无法查到rownum = n(n>1的自然数)。
SQL> select rownum,id,name from student where rownum=1;(可以用在限制返回记录条数的地方,保证不出错,如:隐式游标)
SQL> select rownum,id,name from student where rownum =2;
    ROWNUM ID     NAME
---------- ------ ---------------------------------------------------
(2)rownum对于大于某值的查询条件
   如果想找到从第二行记录以后的记录,当使用rownum>2是查不出记录的,原因是由于rownum是一个总是从1开始的伪列,Oracle 认为rownum> n(n>1的自然数)这种条件依旧不成立,所以查不到记录。
查找到第二行以后的记录可使用以下的子查询方法来解决。注意子查询中的rownum必须要有别名,否则还是不会查出记录来,这是因为rownum不是某个表的列,如果不起别名的话,无法知道rownum是子查询的列还是主查询的列。
SQL>select * from(select rownum no ,id,name from student) where no>2;
        NO ID     NAME
---------- ------ ---------------------------------------------------
         3 200003 李三
         4 200004 赵四
(3)rownum对于小于某值的查询条件
rownum对于rownum<n((n>1的自然数)的条件认为是成立的,所以可以找到记录。
SQL> select rownum,id,name from student where rownum <3;
    ROWNUM ID     NAME
---------- ------ ---------------------------------------------------
        1 200001 张一
   


相关文档:

如何将oracle中的数据导入到excle中

工作过程中需要将oracle中的数据导入到excle中,自己做了一下,先将方法介绍如下,
你可以根据自己的实际情况,做出更改。
1,建立一个emp.sql文件我的是在F :\SQL\EMP.SQL
set line 120
set pagesize 100
set feedback off
--关闭类似于“已选11行”这样的输出反馈,以保证spool输出定义的--文件中只有我们 ......

Oracle Purchasing不能查看PO和開PO

      Oracle Purchasing不能查看PO或開PO,並且用戶有權限開PO。這樣情況可能有不少同仁也遇上類似問題。具體情況如下圖:
     
      首先,查看用 ......

oracle归档模式

一。查看oracle数据库是否为归档模式:[1]
  1.select name,log_mode from v$database;
  NAME               LOG_MODE
  ------------------ ------------------------
  QUERY           NOARCHIVELOG
  2.使 ......

Oracle中用Rowid查找和删除重复记录

Oracle中用Rowid查找和删除重复记录
  平时工作中可能会碰到当试图对库表中的某一列或几列创建唯一索引时,系统提示 ORA-01452 :不能创建唯一索引,发现重复记录。
  下面总结一下几种查找和删除重复记录的方法(以表CZ为例):
  表CZ的结构如下:
  SQL> desc cz
  Name Null? Type
  ---------- ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号