Oracle查询前100万条数据

Oracle不支持select top语句,在Oracle中经常是用order by跟rownum

select 列名1 ...列名n from
(
select 列名1 ...列名n 
   from 表名 order by 列名1
)
where rownum <=N(抽出记录数)

order by rownum asc

如:按姓名排序取出前十条数据

select id,name from (select id,name from student order by name) where rownum<=10 order by rownum asc

查询车辆表前100万条数据(按照id排序,主键id是Number类型):

select ID,
       CASEID,
       PARTYID,
       VEHICLENO,
       TAGCOLOR,
       TCERTIFICATIONCODE,
       RTCISSUER,
       ROUTINENO,
       VEHICLEBRAND,
       VEHICLETYPEID,
       OWNERUNIT,
       OWNERUNITTYPEID,
       DRIVINGSTATEID,
       INSURANCECOMPANYID,
       UPDATETIME,
       UPDATEACCOUNTID,
       TAGEXCEPTIONTYPEID,
       VEHICLEINDENTIFYID,
       REGISTERTIME,
       INSURANCENO,
       WEIGHT,
       APPLYHEIGHT,
       APPLYWIDTH,
       APPLYLENGTH,
       BASICCODEID
  from (select ID,
               CASEID,
               PARTYID,
               VEHICLENO,
               TAGCOLOR,
               TCERTIFICATIONCODE,
               RTCISSUER,
               ROUTINENO,
               VEHICLEBRAND,
               VEHICLETYPEID,
               OWNERUNIT,
               OWNERUNITTYPEID,
               DRIVINGSTATEID,
               INSURANCECOMPANYID,
               UPDATETIME,
               UPDATEACCOUNTID,
               TAGEXCEPTIONTYPEID,
               VEHICLEINDENTIFYID,
               REGISTERTIME,
               INSURANCENO,
               WEIGHT,
               APPLYHEIGHT,
               APPLYWIDTH,
               APPLYLENGTH,
               BASICCODEID
          from TC_VEHICLE
         order by id)
 where rownum <= 1000000
 order by id asc


版权声明:本文为ZHOU_VIP原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。