Oracle FETCH子句详解

目录

一、语法

二、oracle等同写法

三、Mysql等同写法

由于oracle不能使用limit,所以用fetch用来限制查询返回的行数。

一、语法

[ OFFSET offset ROWS]
FETCH  NEXT [  row_count | percent PERCENT  ] ROWS  [ ONLY | WITH TIES ]

说明:

  • OFFSET是偏移量,常数,不写默认为0,常用于分页。
  • FETCH NEXT 1 ROWS 等同于 FETCH FIRST 1 ROW。
  • only只返回指定的量,with ties 返回和最后一条数据相同的数据。
  • 所以经常搭配order by使用。
  • 12c以上版本可用。

二、oracle等同写法

例:查年龄最小的三个同学信息。(order by默认升序)

SELECT NAME,AGE
FROM USER
ORDER BY AGE
FETCH NEXT 3 ROWS WITH TIES;

等同于

SELECT NAME,AGE
FROM USER
WHERE ROWNUM=3
ORDER BY AGE;

三、Mysql等同写法

SELECT NAME,AGE
FROM USER
ORDER BY AGE
LIMIT 0,3;

你可能感兴趣的:(oracle,oracle,数据库)