嵌套sql问题 谁能给详细我解释一下下面这条sql语句

select*from(selecte.*,rownumrnfromuserinfoe)wherern>=10andrn<=20... select * from (select e.*, rownum rn from userinfo e) where rn>=10 and rn<=20 展开
 我来答
荼糜ZDW
推荐于2016-01-29 · TA获得超过118个赞
知道小有建树答主
回答量:126
采纳率:0%
帮助的人:144万
展开全部
首先select e.*, rownum rn from userinfo e,rownum是行号,rownum是Oracle中的伪列标明每条记录的行号,rownum 不能直接 rownum>=10 and rownum<=20这样查出来的结果是空的,所以在外面又加了select * from 也就是把select e.*, rownum rn from userinfo e的结果作为虚拟表再次查询,这样rn就作为结果中的一列,就可以 where rn>=10 and rn<=20,查询记录中的10到20行了。
匿名用户
2015-09-29
展开全部
这是一个分页查询,select e.*, rownum rn from userinfo e 这一句查询userinfo里的所有行及行的编号。select * from (select e.*, rownum rn from userinfo e) where rn>=10 and rn<=20整句查询的是userinfo里行号大于等于10小于等于20的行。这个是数据库分页,使用oracle自带的rownum来实现分页
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
15918713215
2015-09-29 · TA获得超过309个赞
知道小有建树答主
回答量:213
采纳率:75%
帮助的人:67.1万
展开全部
select e.*, rownum rn from userinfo e是一个结果集相当于table,里面的字段就是userinfo表的字段加上rownum字段;select * from (select e.*, rownum rn from userinfo e) 就是在这个结果集里面查找符合条件的记录
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
渁龍蝎
2015-09-29 · TA获得超过241个赞
知道小有建树答主
回答量:179
采纳率:0%
帮助的人:121万
展开全部
查询语句:
select 字段 from 表 where 条件;
(select e.*, rownum rn from userinfo e)
这一段就相当于一个表Table
理解为:
select * from 表Table where rn>=10 and rn<=20;
rownum 为序号,即取序号为10-20的数据。
用于分页查询。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式