顾美玲勾引管家|日韩黄色成人|国产精品theporn动漫|欧美日日日|国产精品探花在线

專業(yè)只做數(shù)據(jù)庫實(shí)訓(xùn)和認(rèn)證的品牌機(jī)構(gòu)

微信公眾號新浪微博
免費(fèi)咨詢電話:400-0909-964
當(dāng)前位置: 網(wǎng)站首頁 > DBA實(shí)戰(zhàn) > DBA課程 > Oracle基礎(chǔ)知識:偽列rownum

Oracle基礎(chǔ)知識:偽列rownum

文章來源: 更新時(shí)間:2016/7/20 14:09:41

在線老師點(diǎn)擊咨詢:

最新學(xué)訊:近期OCP認(rèn)證正在報(bào)名中,因考試人員較多請盡快報(bào)名獲取最近考試時(shí)間,報(bào)名費(fèi)用請聯(lián)系在線老師,甲骨文官方認(rèn)證,報(bào)名從速!

我要咨詢

Oracle基礎(chǔ)知識:偽列rownum,偽列就像表中的列一樣,但是在表中并不存儲。偽列只能查詢,不能進(jìn)行增刪改操作。

在查詢的結(jié)果集中,ROWNUM為結(jié)果集中每一行標(biāo)識一個(gè)行號,第一行返回1,第二行返回2,以此類推。通過ROWNUM偽列可以限制查詢結(jié)果集中返回的行數(shù)。

ROWNUM與ROWID不同,ROWID是插入記錄時(shí)生成,ROWNUM是查詢數(shù)據(jù)時(shí)生成。ROWID標(biāo)識的是行的物理地址。ROWNUM標(biāo)識的是查詢結(jié)果中的行的次序。

案例4:查詢出員工表中前5名員工的姓名,工作,工資。

代碼演示:ROWNUM

SQL> SELECT ROWNUM,ENAME,JOB,SAL FROM EMP WHERE ROWNUM<=5;

 ROWNUM

ENAME

JOB

SAL

1

SMITH

CLERK

800

2

ALLEN

SALESMAN

1600

3

WARD

SALESMAN

1250

4

JONES

MANAGER

2975

5

MARTIN

SALESMAN

1250

案例5:查詢出工資最高的前5名員工的姓名、工資和工資。

案例分析

“工資最高的前5名”需要先降序排序,再取前5名,但是生成ROWNUM操作比排序要早,排序時(shí)已經(jīng)連同ROWNUM一起排序了,因此不能直接在案例1的語句中直接加上Order by就行,而是需要對排序的結(jié)果重新做二次查詢,產(chǎn)生新的ROWNUM才能作為查詢的條件依據(jù)。

代碼演示:ROWNUM應(yīng)用

SQL> SELECT ROWNUM,T.* FROM 

  2      (SELECT ENAME,JOB,SAL

  3       FROM EMP ORDER BY SAL DESC) T 

  4  WHERE ROWNUM<=5

  5  /

 

ROWNUM

ENAME

JOB

SAL

1

KING

PRESIDENT

5000

2

SCOTT

ANALYST

3000

3

FORD

ANALYST

3000

4

JONES

MANAGER

2975

5

BLAKE

MANAGER

2850

代碼解析:

① T是子查詢②的別名,這里的ROWNUM是第二次查詢后的ROWNUM。

案例6:查詢出表EMP中第5條到第10條之間的記錄。

案例分析

這是分頁的應(yīng)用。在查詢條件中,如果查詢條件中ROWNUM大于某一正整數(shù),則不返還任何結(jié)果。

代碼演示:ROWNUM分頁

SQL> SELECT * FROM

  2     (SELECT ROWNUM R,ENAME,JOB,SAL 

  3      FROM EMP WHERE ROWNUM<=10) 

  4  WHERE R>5 

  5  /

 R

ENAME

JOB

SAL

6

BLAKE

MANAGER

2850

7

CLARK

MANAGER

2450

8

SCOTT

ANALYST

3000

9

KING

PRESIDENT

5000

10

TURNER

SALESMAN

1500

代碼解析:

① 內(nèi)部查詢中得到ROWNUM 并且用別名R記錄,供外層條件③使用。

② 內(nèi)部查詢的ROWNUM,與外出的ROWNUM列是平等的兩列。

③ 使用的R是內(nèi)層產(chǎn)生的ROWNUM,在外層看來,內(nèi)層查詢的ROWNUM是正常的一列。

本文地址:http://www.mudan321.com/dba/kecheng/12524465668.html 轉(zhuǎn)載請注明!


PostgreSQL入門到精通 100+ 個(gè)學(xué)習(xí)資料

Oracle培訓(xùn)機(jī)構(gòu)

金牌講師<>

冉乃綱-老師CUUG金牌講師
冉老師 CUUG金牌講師 Oracle及RedHat高級講師、Unix/Linux 資深專家...[詳細(xì)了解老師]

免費(fèi)咨詢上課流程 客服在線中

陳衛(wèi)星-老師CUUG金牌講師
陳老師 CUUG金牌講師 精通Oracle管理、備份恢復(fù)、性能優(yōu)化 11年Ora...[詳細(xì)了解老師]

免費(fèi)咨詢上課流程 客服在線中

選學(xué)校如何選擇適合自己的學(xué)校

CUUG -CHINA UNIX USER GROUP,是國際UNIX組織UNIFORUM的中國代表,是國內(nèi)悠久的專業(yè)UNIX培訓(xùn)機(jī)構(gòu),被譽(yù)為中國UNIX 的搖籃。多年來,以提高教學(xué)質(zhì)量為本,強(qiáng)調(diào)素質(zhì)教育,積極引進(jìn)、消化國外的新技術(shù),有效的結(jié)合中國....[詳情]

一站式服務(wù)(從入學(xué)到就業(yè)一幫到底)

入學(xué)

學(xué)習(xí)

就業(yè)

實(shí)操

食宿
地址:北京市海淀區(qū)田村山南路35號院17號樓
課程咨詢: 400-0909-964
企業(yè)服務(wù):137 1818 8639(陳經(jīng)理)
部分信息來源于網(wǎng)絡(luò),如有錯(cuò)誤請聯(lián)系指正!
版權(quán)所有@北京神腦資訊技術(shù)有限公司 (CUUG,中國UNIX用戶協(xié)會) Copyright 2016 ALL Rights Reserved 京ICP備11008061號-1