咨询电话:
15628812133
03
2023/12

使用ROWNUM函数实现分页查询

发布时间:2023-12-03 23:09:33
发布者:神棍子
浏览量:
0

先来看两段代码:

ROWNUM查询

普通查询

第一段代码要比第二段高效很多,这是由于在CBO 优化模式下,Oracle可以将外层的查询条件推到内层查询中,以提高内层查询的执行效率。第一段代码中,第二层的查询条件WHERE ROWNUM <= 40就可以被Oracle推入到内层查询中,这样Oracle查询的结果一旦超过了ROWNUM限制条件,就终止查询将结果返回了。

ROWNUM是一个伪列,用于记录返回结果集中每一行的行号。ROWNUM是在查询结果返回之后计算的,因此它并不是存储在表中的实际列。ROWNUM的作用是用于限制查询结果的行数,可以在SELECT语句中使用WHERE子句和ORDER BY子句,实现分页查询或筛选查询结果。

分页查询

其中,start_row和end_row分别表示查询的起始行和结束行。

举例说明:

查询operation表前五行

查询operation表前五行

需要注意:1.Rownum是Oracle数据库中的一种伪列,它不是一个真实的列,而是Oracle在运行时自动分配给每一行的一个行号。

2.ROWNUM是在查询结果返回之后再进行排序的,因此需要使用子查询来实现分页查询

3.在使用ROWNUM函数实现分页查询时,需要注意排序的方式,以确保查询结果的正确性。

返回列表