Mysql、SQL server、Oracle三种数据库分页查询语句对比

假设查询student表。pageNum为页码,pageSize为页大小。
MySql:

select * 
from table_name
 ... 
limit (pageNum-1)*pageSize,pageSize;

SQL server:
2005以上版本:

select top pageSize *
from (select row_number()over (order by sno asc) as rownumber,*
      from student) temp_row
where rownumber > ((pageNum - 1) * pageSize);

Oracle:

select s.*,ROWNUM rn
from (select *
      from student) s
where ROWNUM between (pageNum-1)*pageSize and pageNum*pageSize
总结:

在分页查询语句中,mysql是最简洁的,其余都涉及到子查询。

你可能感兴趣的:(数据库,服务器,运维,数据库,oracle,mysql)