WEB开发网
开发学院数据库Oracle Oracle数据库入门之多表连接与子查询 阅读

Oracle数据库入门之多表连接与子查询

 2012-11-28 15:26:36 来源:WEB开发网   
核心提示:这时的myno就是一个实际存在的结果了,如果把子查询当作一个真实的表,Oracle数据库入门之多表连接与子查询(4),这个表中应该有n+1个字段都是真实存在的字段,一个字段叫myno,里面有n+1个真实存在的字段,其中一个字段叫myno如果这时把条件改成where rownum>=5 and rownum<
这时的myno就是一个实际存在的结果了。如果把子查询当作一个真实的表,这个表中应该有n+1个字段
都是真实存在的字段,一个字段叫myno,其它的是原来emp中的所有字段
然后在语句中将查询条件where myno>=5 and myno<=10写在该语句的后面。整句就如“模板”中句子
这时再执行整条语句,得到的就是预期中的结果,即emp中工资排名在第5到第10名之间的员工信息
模板:select * from (select rownum myno, a.* from (select * from emp order by sal desc) a) where myno>=5 and myno<=10;
这就是在Oracle中利用TopN查询实现分页显示效果的SQL语句,也可以把当前的语法格式当作一个模板来记住
子查询可以当作是一个表,假想这个表是物理存在的,里面有n+1个真实存在的字段,其中一个字段叫myno
如果这时把条件改成where rownum>=5 and rownum<=10,那么执行结果是:未选定行或没有选定任何内容
因为这个rownum指的根本不是子查询中的返回的结果rownum,而是这一次主查询中又得到的一个伪列

上一页  1 2 3 4 

Tags:Oracle 数据库 入门

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接