嵌套sql问题 谁能给详细我解释一下下面这条sql语句
select*from(selecte.*,rownumrnfromuserinfoe)wherern>=10andrn<=20...
select * from (select e.*, rownum rn from userinfo e) where rn>=10 and rn<=20
展开
4个回答
展开全部
首先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来实现分页
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select e.*, rownum rn from userinfo e是一个结果集相当于table,里面的字段就是userinfo表的字段加上rownum字段;select * from (select e.*, rownum rn from userinfo e) 就是在这个结果集里面查找符合条件的记录
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
查询语句:
select 字段 from 表 where 条件;
(select e.*, rownum rn from userinfo e)
这一段就相当于一个表Table
理解为:
select * from 表Table where rn>=10 and rn<=20;
rownum 为序号,即取序号为10-20的数据。
用于分页查询。
select 字段 from 表 where 条件;
(select e.*, rownum rn from userinfo e)
这一段就相当于一个表Table
理解为:
select * from 表Table where rn>=10 and rn<=20;
rownum 为序号,即取序号为10-20的数据。
用于分页查询。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询