Oracle利用rownum和rowid分页


对于rownum和rowid的理解可以参考的文章:

利用rownum分页可以参考下面的sql

select * from (

 select t1.*,rownum rn from (

  select * from scott.emp order by sal desc --这里是排序好的表

 )t1 where rownum < 8 --这里是上限

)where rn > 5 --这里是下限

 

利用rowid分页可以参考下面的sql,rowid的效率比rownum高

select * from scott.emp where rowid in ( --这里选择要查询出的字段

 select rid from (

  select rownum rn,rid from (

   select rowid rid,sal from scott.emp order by sal desc --这里进行表排序

  ) where rownum < 8 --这里是上限

 ) where rn > 5 --这里是下限

) order by sal desc --这里再次排序

更多Oracle相关信息见Oracle 专题页面 http://www.bkjia.com/topicnews.aspx?tid=12

相关内容