oracle怎么实现多表 连接查询 并分页。。。
原查询条件selectu.userid,u.userid,u.loginName,t.contentfromuserinfou,twittertwhereu.userid...
原查询条件select u.userid,u.userid,u.loginName,t.content from userinfo u,twitter t where u.userid=t.userid and loginname like '%java%'
这样写的不可以
select * from (select rownum as r,u.userid,u.userid,u.loginName,t.content from userinfo u,twitter t where u.userid=t.userid and loginname like '%java%')t where rownum>2 and rownum<4;
求各位大侠帮帮忙。。。。 谢谢 展开
这样写的不可以
select * from (select rownum as r,u.userid,u.userid,u.loginName,t.content from userinfo u,twitter t where u.userid=t.userid and loginname like '%java%')t where rownum>2 and rownum<4;
求各位大侠帮帮忙。。。。 谢谢 展开
3个回答
展开全部
实际效果要看Oracle 优化以后的
不过,从理论上来说,2好一些,因为提前做了关联取的集合较小
Oracle是建议先将小集合进行关联的,然后在针对rowid进行排序
不过,从理论上来说,2好一些,因为提前做了关联取的集合较小
Oracle是建议先将小集合进行关联的,然后在针对rowid进行排序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
多表连接最好一次从数据库中取出,在前台分页,否则每次做连接很耗费资源的。
从技术上你的写法也是对的:
select * from (select rownum as r,u.userid,u.userid,u.loginName,t.content from userinfo u,twitter t where u.userid=t.userid and loginname like '%java%')t where rownum<= currentPage*pageSize and rownum<= (currentPage+1)*pageSize
你试下。
从技术上你的写法也是对的:
select * from (select rownum as r,u.userid,u.userid,u.loginName,t.content from userinfo u,twitter t where u.userid=t.userid and loginname like '%java%')t where rownum<= currentPage*pageSize and rownum<= (currentPage+1)*pageSize
你试下。
追问
之前我 也 这么写过 。。。 但是就是报 select * from(....); 里的这个* 未定义 错误。。。。
试了好多种方法 都是这一点错误 从理论上来说 这样写 是没问题的啊????
追答
哦,那你把rownum as r放到最外层看下,可能是这个的问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from (select rownum as r,u.userid,u.userid,u.loginName,t.content from userinfo u,twitter t where u.userid=t.userid and loginname like '%java%' and rownum <4 )t where r > 2;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询