码迷,mamicode.com
首页 > 数据库 > 详细

Oracle分页查询=======之伪列的使用

时间:2016-12-14 21:54:53      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:数据库   name   nbsp   .com   jpg   使用   rac   style   teacher   

========伪列==========

在Oracle数据库中,伪列不存在表中,但是可以从表中查询到

例如:SELECT ROWID 伪列,tname 教师姓名 FROM teacher;

技术分享

=========列号rownum==========

查询rownum返回表中数据的行号;

例如:SELECT ROWNUM 列号,tname 教师,sal 薪资 FROM teacher;

技术分享

其中rownum只能在条件中做=1或者小于 的操作

例如:SELECT tname 教师名,sal 薪资 FROM teacher WHERE ROWNUM<8;

技术分享

或者:SELECT tname 教师名,sal 薪资 FROM teacher WHERE ROWNUM=1;

技术分享

如果要进行其他操作:>  或者 =大于1的值  就必须使用伪列做为临时表真正得列,通过子查询拉查询

SELECT * FROM (SELECT t.*,dense_rank() OVER (ORDER BY sal DESC) nums FROM teacher t )WHERE nums=5;

 技术分享

查询第五名到第九名新字的老师信息

 SELECT * FROM (SELECT t.*,dense_rank() OVER (ORDER BY sal DESC) nums FROM teacher t )WHERE nums>=5 and nums<=9;

技术分享

或者SELECT * FROM (SELECT mm.*,ROWNUM nums FROM (SELECT * FROM teacher ORDER BY sal DESC)mm) WHERE nums>=5 AND nums<=9;

将SELECT * FROM teacher ORDER BY sal DESC的查询结果国为一个临时表从中查询所有教师信息和rownum,并将rownum座位一个真是的列放入到查询的结果中,再从查询的结果中查查询rownums列从5到9 的教师信息

技术分享

 

Oracle分页查询=======之伪列的使用

标签:数据库   name   nbsp   .com   jpg   使用   rac   style   teacher   

原文地址:http://www.cnblogs.com/kuoAT/p/6180768.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!