首頁  >  文章  >  資料庫  >  oracle的區間查詢語句是什麼

oracle的區間查詢語句是什麼

WBOY
WBOY原創
2022-06-10 17:09:183496瀏覽

oracle的區間查詢語句:1、「select * from 表名where rownum

oracle的區間查詢語句是什麼

本教學操作環境:windows10系統、Oracle 12c版、Dell G3電腦。

oracle的區間查詢語句是什麼

Oracle使⽤rownum的關鍵字來實現這種查詢:

oracle的區間查詢語句是什麼

##⾸先我們假設有⼀個地域資訊表area,其表結構如下圖所⽰:

oracle的區間查詢語句是什麼

#表中的資料如下圖所⽰(select * from area語句得到的結果) :

1)查詢表中的前8筆記錄

select * from area where rownum <= 8

查詢結果如下:

oracle的區間查詢語句是什麼

##2)查詢第2到第8筆記錄

對於這種形式的查詢,oracle不像mysql那麼⽅便,它必須使⽤⼦查詢或是集合運算來實現。我們可以讓⽤以下3種⽅式可以實現:

A: select id,province,city,district from (select id,province,city,district,rownum as num from area) where num between 2 and 8;

⾸先根據select id,province,city,district,rownum as num from area得到⼀個臨時表,這個臨時表中有⼀個rownum列(⼀個偽列,類似與

rowid,但⼜不同於rowid,因為rowid是物理存在的⼀個列,也就是說Oracle中任何⼀個表都有⼀個rowid列,⽽ rownum不是物理存在的),

然後在臨時表中來查詢。

B: select * from area where rownum <= 8 minus select * from area where rownum < 2;

使⽤集合減運算子minus,該操作傳回在第⼀個select中出現⽽不在第⼆個select中出現的記錄。

C: select id,province,city,district from (select id,province,city,district,rownum as num from area) where num >=2
intersect

select * from area where rownum

#使⽤集合交運算子intersect,這⾥繞了⼀個彎(不過這個彎實現了rownum⼤於某個數的查詢),它是⾸先利⽤A的⽅式查詢得到所有

rownum⼤於2的記錄,然後再與rownum⼩於等於8的記錄集合做交運算。三種操作得到的結果⼀樣,如下圖所⽰:

oracle的區間查詢語句是什麼#推薦教學:《

Oracle影片教學

以上是oracle的區間查詢語句是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn