select * from teacher where tno>1090
--回憶之前的MYSQL分頁
select * from teacher limit (pageIndex-1)*pageSize,pageSize
--oracle的分頁 需要偽列? 什么是偽列!
--偽列 可以從表中查詢的到!每個表都有這個偽列!但是不能對偽列
--進行增刪改操作!偽列的值是不允許被改變的
--rowid:存儲的是表中行的存儲地址,是唯一的!可以使用rowID定位到表中的一行
--增長的規律: 最后一個字母。默認從A開始 A-Z a-z 0-9 + / 倒數第二位變成B
--rownum:返回的是查詢結果中 行的序號!
--rownum只能對=1或者<n進行篩選,不能對>n進行篩選
--如果想使用>n來查詢,那么必須通過子查詢建立臨時表,
--然后讓rownum成為臨時表中的列,然后限定條件使用偽列的別名
--查詢教師表中的薪水最高前5名
select * from
(select * from teacher
order by sal desc)
where rownum<6
--查詢教師表中的薪水第5名
select * from(
select t.*,rownum rw from
(select * from teacher order by sal desc) t
)
where rw=5
--使用分析函數 排序
select * from
(
select t.*,dense_rank() over(order by sal desc) rank
from teacher t
)
where rank=5
--查詢 教師表中的薪水最高5 -9
select * from(
select t.*,rownum rw from
(select * from teacher order by sal desc) t
)
where rw>=5 and rw<=9
(以上內容來自王碩老師)