Oracle实现 SELECT TOP N哪种方法最好用?

以下的文章主要介绍的是如何在Oracle实现 SELECT TOP N的实际操作方法,我们主要是以举例子的方式来引出Oracle实现 SELECT TOP N的具体操作,以下就文章的具体内容的描述,望你会有所收获。

1.在Oracle实现SELECT TOP N

由于Oracle不支持SELECT TOP语句,所以在Oracle中经常是用ORDER BY跟ROWNUM的组合来实现SELECT TOP N的查询。

简单地说,Oracle实现SELECT TOP N的方法如下所示:

SELECT 列名1...列名n FROM

(SELECT 列名1...列名n FROM 表名 ORDER BY 列名1...列名n)

WHERE ROWNUM <= N(抽出记录数)

 

 
 
 
  1. 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语句如下所示:

 

 
 
 
  1. SELECT * FROM  
  2. (SELECT * FROM CUSTOMER ORDER BY NAME)  
  3. WHERE ROWNUM <= 3  
  4. ORDER BY ROWNUM ASC  

 

输出结果为:

ID NAME

08 eighth

05 fifth

01 first

上述的相关内容就是对在Oracle实现SELECT TOP N的方法的描述,希望会给你带来一些帮助在此方面。

【编辑推荐】

  1. 提高Oracle SQL的执行效率的3个方案
  2. Oracle数据库的性能完全保护的4个项目
  3. Oracle密码文件的实际操作方案介绍
  4. Oracle LogMiner分析工具的应用介绍
  5. Oracle初始参数与当前用户的实操
THE END