语法

SELECT …
FROM …
[ WHERE … ]
[ ORDER BY … ]
[OFFSET n { ROW | ROWS }]
[FETCH { FIRST | NEXT } [{ n | n PERCENT }] { ROW | ROWS }
{ ONLY | WITH TIES }]

在上面的语法中,ROW 和 ROW 是一样的, FIRST 和 NEXT 是一样的。

ONLY 与 WITH TIES

ONLY 表示只显示前几条/前百分之多少条; WITH TIES 必须跟 ORDER BY 联合使用,否则没有效果。

举例说明 WITH TIES 的作用:

查询表中所有数据:

SQL> select * from cyt 
order by id;      

    ID
----------
     1
     2
     3
     3
     3

只取前3条数据:

SQL> SELECT * FROM cyt
ORDER BY id
FETCH FIRST 3 ROWS ONLY;  

    ID
----------
     1
     2
     3

只取前3条,但如果后面有相同数据(排序列),也一并取出来:

SQL> SELECT * FROM cyt
ORDER BY id
FETCH FIRST 3 ROWS WITH TIES;

    ID
----------
     1
     2
     3
     3
     3

使用限制

  • 不能跟 for update 子句同用
  • 在 DELETE 和 UPDATE 的子查询中不能使用
  • 使用该子句时,SELECT 后面不能出现 CURRVAL or NEXTVAL
-- By 许望(RHCA、OCM、VCP)
最后修改:2019 年 08 月 20 日 09 : 01 AM
如果觉得我的文章对你有用,请随意赞赏