在Oracle中,类似于MySQL中的LIMIT和OFFSET,可以使用ROWNUM来实现分页查询。以下是一个示例:
SELECT *
FROM (
SELECT t.*, ROWNUM AS rn
FROM your_table t
WHERE ROWNUM <= 20
)
WHERE rn > 10;
上面的SQL语句中,首先在子查询中使用ROWNUM来给每一行添加一个行号,然后在外部查询中使用rn来限制返回的行数和偏移量。在这个例子中,偏移量为10,返回的行数为10。
另外,Oracle 12c引入了FETCH FIRST语句,可以更简洁地实现分页查询:
SELECT *
FROM your_table
OFFSET 10 ROWS
FETCH FIRST 10 ROWS ONLY;
这个语法更简洁明了,可以指定偏移量和返回的行数。但是需要注意的是,FETCH FIRST语句只在Oracle 12c及以上版本中可用。