久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      oracle中rownum的用法是什么

      在oracle中,rownum是oracle引入的虛列,只是在查詢時(shí)才構(gòu)造出來,用于限制返回查詢的總行數(shù),分配從查詢返回的行的編號(hào),編號(hào)總是從1開始以此類推,且rownum不能以任何表的名稱作為前綴。

      oracle中rownum的用法是什么

      本教程操作環(huán)境:Windows10系統(tǒng)、Oracle 11g版、Dell G3電腦。

      oracle中rownum的用法是什么

      對(duì)于rownum來說它是oracle系統(tǒng)順序分配為從查詢返回的行的編號(hào),返回的第一行分配的是1,第二行是2,依此類推,這個(gè)偽字段可以用于限制查詢返回的總行數(shù),且rownum不能以任何表的名稱作為前綴。

      rownum是Oracle引入的虛列。
      在物理上這個(gè)虛列并不存在,只是在查詢時(shí)才構(gòu)造出來。偽列通常是自由分配的,用戶無法執(zhí)行修改等操作。

      特點(diǎn)

      關(guān)于rownum有以下主要特點(diǎn):

      1)rownum不屬于任何表。

      2)rownum存在的前提,先有結(jié)果表。

      3)rownum總是從1開始。

      4)rownum一般只和<(<=)一起用。

      5)使用rownum進(jìn)行分頁(yè)查詢需要把rownum轉(zhuǎn)化為實(shí)列,并針對(duì)rownum查詢。

      2. 機(jī)制原理

      rownum的用法看似奇怪,其實(shí)如果明白其機(jī)制原理就會(huì)很簡(jiǎn)單。

      首先我們來做個(gè)簡(jiǎn)單的實(shí)驗(yàn):從dual表中取出所有的字段,并取出rownum。

      如果我們采用如下的寫法:t.rownum

      oracle中rownum的用法是什么

      這樣運(yùn)行就會(huì)報(bào)01747錯(cuò):

      oracle中rownum的用法是什么

      因?yàn)閷?shí)際上,dual表就不存在rownum這個(gè)字段,所以我們無法使用t.rownum的格式。

      正確的寫法,應(yīng)該是:

      oracle中rownum的用法是什么

      所以,rownum是一個(gè)虛列,不屬于任何表。

      那么這虛列是怎么來的。我們?cè)谧鰝€(gè)簡(jiǎn)單的實(shí)驗(yàn),便于理解:

      如下,我們有一個(gè)簡(jiǎn)單的表:test_ljb,共有十條記錄。

      我們加上rownum。

      結(jié)果如下,很好理解,選出十條記錄,rownum從1到10

      oracle中rownum的用法是什么

      我們加上一個(gè)salary的篩選條件:

      oracle中rownum的用法是什么

      結(jié)果如下:選出三條記錄,rownum從1到3

      oracle中rownum的用法是什么

      需要注意的是,第二個(gè)結(jié)果表的rownum對(duì)應(yīng)的employee和第一張并不對(duì)應(yīng)。

      如:在第一張表rownum為1時(shí),對(duì)應(yīng)的時(shí)Arvin,而第二張對(duì)應(yīng)的是Oracle。

      原因如下:

      因?yàn)閞ownum是對(duì)結(jié)果集加的一個(gè)偽列,即先查到結(jié)果集之后再加上去的一個(gè)列。

      簡(jiǎn)單的說,rownum是對(duì)符合條件結(jié)果的序列號(hào)。它總是從1開始排起的,所以選出的結(jié)果不可能跳過1,而有其他大于1的值。

      或者說,rownum是一個(gè)動(dòng)態(tài)的,根據(jù)新的結(jié)果集實(shí)時(shí)變化的。

      推薦教程:《Oracle教程》

      贊(0)
      分享到: 更多 (0)
      ?
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)