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,而是这一次主查询中又得到的一个伪列
都是真实存在的字段,一个字段叫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,而是这一次主查询中又得到的一个伪列
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接