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

oracle对top的支持

1.在ORACLE中实现SELECT TOP N
   由于ORACLE不支持SELECT TOP语句,所以在ORACLE中经常是用ORDER BY跟ROWNUM的组合来实现SELECT TOP N的查询。
简单地说,实现方法如下所示:
      SELECT 列名1...列名n from
        (SELECT 列名1...列名n from 表名 ORDER BY 列名1...列名n)
       WHERE ROWNUM <= N(抽出记录数)
      ORDER BY ROWNUM ASC
   下面举个例子简单说明一下。
顾客表customer(id,name)有如下数据:
      ID NAME
       01 first
       02 Second
       03 third
       04 forth
       05 fifth
       06 sixth
       07 seventh
       08 eighth
       09 ninth
       10 tenth
       11 last
   则按NAME的字母顺抽出前三个顾客的SQL语句如下所示:
      SELECT * from
        (SELECT * from CUSTOMER ORDER BY NAME)
       WHERE ROWNUM <= 3
       ORDER BY ROWNUM ASC
   输出结果为:
      ID NAME
       08 eighth
       05 fifth
       01 first
2.在TOP N纪录中抽出第M(M <= N)条记录
在得到了TOP N的数据之后,为了抽出这N条记录中的第M条记录,我们可以考虑从ROWNUM着手。我们知道,ROWNUM是记录表中数据编号的一个隐藏子段,所以可以在得到TOP N条记录的时候同时抽出记录的ROWNUM,然后再从这N条记录中抽取记录编号为M的记录,即使我们希望得到的结果。
从上面的分析可以很容易得到下面的SQ


相关文档:

MYSQL和ORACLE的一些操作区别

有很多应用项目, 刚起步的时候用MYSQL数据库基本上能实现各种功能需求,随着应用用户的增多,数据量的增加,MYSQL渐渐地出现不堪重负的情况:连接很慢甚至宕机,于是就有把数据从MYSQL迁到ORACLE的需求,应用程序也要相应做一些修改。本人总结出以下几点注意事项,希望对大家有所帮助。
1.自动增长的数据类型处理
MYSQL有 ......

Oracle wait problems and potential solutions

Wait Problem Potential Fix Sequential Read Indicates many index reads—tune the code (especially joins) Scattered Read Indicates many full table scans—tune the code; cache small tables ......

ORACLE SQL语句优化


1) 选择最有效率的表名顺序(只在基于规则的优化器中有效):
ORACLE的解析器按照从右到左的顺序处理from子句中的表名,from子句中写在最后的表(基础表 driving table)将被最先处理,在from子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection ......

Oracle中的Hash Join祥解

Oracle中的Hash Join祥解
一、  hash join概念
     Hashjoin(HJ)是一种用于equi-join(而anti-join就是使用NOT IN时的join)的技术。
在Oracle中,它是从7.3开始引入的,以代替sort-merge和nested-loop join方式,
提高效率。在CBO(hash join只有在CBO才可能被使用到)模式下,优化器计算代 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号