ITPub博客

首页 > 数据库 > Oracle > Oracle ROWNUM

Oracle ROWNUM

原创 Oracle 作者:guocun09 时间:2017-11-15 11:33:29 0 删除 编辑

ROWNUM和ROWID一樣也是一個偽列,按ORACLE從buffer cache或data file中的順序開始計數的。

 

ROWNUM=1也就是讀到的第一條,當這條記錄被刪除ROWNUM將變為其它值。

在謂詞中不允許使用ROWNUM=2,3。。。等(oracle是從rownum=1開始計數的,直接使用rownum=2不行)

 

如果非要取第2條可以用:

SELECT * FROM (SELECT A.*,ROWNUM R FROM EMP A)

WHERE R=2;

 

開發中常用到rownum=1,以提高執行效率(找到第一條就馬上返回結果,不用向下執行)。

其實在oracle10G開始執行計畫才會這樣執行,提高效率

 

ORDER BY排序時,注意寫成:

SELECT * FROM (SELECT A.*,ROWNUM R FROM EMP A

ORDER BY EMP_NO)

WHERE R=1;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25583515/viewspace-2147284/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
DBA,掌握Oracle,SQLServer,MySQL,hadoop,casscandra等数据库。喜爱深入研究数据库技术原理,擅长管理和优化工作。

注册时间:2011-10-02

  • 博文量
    177
  • 访问量
    686667