資料庫:oracle11g
資料偽列(rownum)
*範例:查詢前5條記錄:select rownum,empno,job,hiredate,sal from emp where rownum<=5;
*範例:查詢(6--10)條記錄:*按照正常的思維肯定直接進行between-and的判斷:
如:select rownum,empno,ename,job,hiredate,sal from emp;
//這個時候並沒有返回任何的資料,因為rownum不是真實列,而更新想真正的實現這種查詢思路是:
先查詢前10條記錄,之後再顯示後5條記錄,要依靠子查詢完成。
如:select * from(select rownum m,empno,ename,job,hiredate,sal from emp where rownum<=10)temp where temp.m>5;
如果按照這個思路,下面就可以給出日後程式中所需要分頁的功能實現;
*範例:顯示當前5條記錄:當前所在頁(currentpage)為1;
每頁顯示的記錄長度(linesize)為5;
*第一頁:select * from(select rownum m,empno,ename,job,hiredate,sal from emp where rownum<=5)temp where temp.m>0;
*第二頁:select * from(select rownum m,empno,ename,job,hiredate,sal from emp where rownum<=10)temp where temp.m>5; //這些都是核心**;
*rowid(面試題):rowid表示的是每一行資料儲存的實體地址的編號,例如,觀察如下的查詢:select rowid,deptno,dname,loc from dept;
Oracle的資料偽列 ROWNUM
資料庫 oracle11g 資料偽列 rownum 範例 查詢前5條記錄 select rownum,empno,job,hiredate,sal from emp where rownum 5 範例 查詢 6 10 條記錄 按照正常的思維肯定直接進行between and的判斷 如 select ...
oracle的偽列以及偽表
oracle系統為了實現完整的關聯式資料庫功能,系統專門提供了一組成為偽列 pseudocolumn 的資料庫列,這些列不是在建立物件時由我們完成的,而是在我們建立時由oracle完成的。那麼oracle的偽列以及偽表是怎麼樣的呢?接下來就為大家詳細講解oracle的偽列以及偽表。oracle目前有...
ORACLE中的偽列
oracle 中的偽列 偽列就像表中的列一樣,但是在表中並不儲存。偽列只能查詢。不能進行增刪改工作。rownum與rowid不同,rowid是插入記錄時生成,rownum是查詢資料時生成。rowid標識的是行的實體地址。rownum標識的是查詢結果中的行的次序。1.rowid 表中的每一行記錄都有乙...