问一下下面这两种Oracle分页哪种写法是对的

kroda 2009-07-02 01:00:28

select emp.*,dept.* from emp,dept,
(
select newrowid
from (select res.*, rownum rownum_
from (select t.rowid newrowid from emp t) res
where rownum <= 6)
where rownum_ >= 4
) tt
where emp.rowid = tt.newrowid
and emp.deptno = dept.deptno



------------------------------------------------------------------------

select emp.*,dept.* from emp,dept,
(
select rowid1,rowid2 from (select res.*, rownum rownum_
from (select emp.rowid rowid1,dept.rowid rowid2 from emp,dept where emp.deptno = dept.deptno) res
where rownum <= 6)
where rownum_ >= 4
) tt
where emp.rowid = tt.rowid1
and dept.rowid = tt.rowid2
and emp.deptno = dept.deptno

另外 要求写成inner join版的 怎么写
...全文
56 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cab1225 2009-07-02
  • 打赏
  • 举报
回复
都可以哦、!!!!
kroda 2009-07-02
  • 打赏
  • 举报
回复
你为何不用rowid呢 rowid是物理地址呀
asdf_ndsc 2009-07-02
  • 打赏
  • 举报
回复
都是能用的。就是很差。你们没 dba ?

select *
from (select emp.*, dept.* rownum rownum_
from emp, dept
where emp.deptno = dept.deptno
and rownum <= 6)
where rownum_ >= 4
jtaocs 2009-07-02
  • 打赏
  • 举报
回复
分页只能这么写啊
要么用存贮过程吗

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧