美图齐众专注资阳网站设计 资阳网站制作 资阳网站建设
资阳网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

简单分析OracleRownum

在开发应用的时候,把数据按照一定的规则排序后再取前几条数据这种操作是很平常的事情。我们在Oracle中常用的就是order by,然后取得Oracle Rownum小于多少的数据这种方法。不过如果对Oracle不熟悉,也许就会发现你写的SQL语句检索出来的值不正确,这个是为什么呢。

创新互联主营陇南网站建设的网络公司,主营网站建设方案,重庆APP开发公司,陇南h5小程序设计搭建,陇南网站营销推广欢迎陇南等地区企业咨询

因为Oracle在检索的时候,会首先把数据都检索出来,然后在排序段中进行排序。假如你有一个SQL语句如下所示:

 
 
 
  1. SELECTEMP_NOFROMEMPWHEREROWNUM < 10ORDER BYEMP_NO 

在检索的时候,会首先把数据检索出来,也就是把EMP表数据都检索出来,然后再Order by排序操作。因为Oracle Rownum 数据是在排序前就检索出来的了,所以不能利用Oracle Rownum来取得排序后的前10条操作。那么应该如何操作呢。其实很简单,利用子查询,先排序,再取 Oracle Rownum。如下所示:

 
 
 
  1. SELECTEMP_NOFROM(  
  2. SELECTEMP_NOFROM EMPORDER BYEMP_NO  
  3. )  
  4. WHERE  
  5. ROWNUM < 10 

【编辑推荐】

  1. 摘要Oracle Check约束
  2. 概论Oracle索引创建策略
  3. Oracle Where子句研究结论
  4. 你是否懂得Oracle UNION ALL
  5. 概述Oracle Unique约束

当前题目:简单分析OracleRownum
文章路径:http://www.zsjierui.cn/article/cosijdo.html

其他资讯