日期:2014-05-16 浏览次数:20547 次
如从表中取出4-6行的数据;
sql如下:
得到4-6行的数据
select id,age
from zystudent
where id in(
select id?
from zystudent
where rownum<=6?
and?
id not in(
select id from zystudent where rownum<=3)
);
最笨的方法,查询效率很低,不建议使用
select id,name,age from(
select id,name,age,rownum r
from zystudent) where r>=3 and r<=6;
将rownum定义成一个属性,然后调用,很不错的方法
select id,name,age from(
select id,name,age,rownum r
from zystudent where rownum<=6 order by id) where r>=4;
比上一个,更加优化了查询,根本不用遍历全表,就能实现
排序后再取出4-6;
select id,name,age from(
select id,name,age,rownum r
from(select * from zystudent order by id desc) where rownum<=6) where r>=4;
应该将排序的后的表作为要查询的表