首頁  >  文章  >  資料庫  >  oraclefetch的用法是什麼

oraclefetch的用法是什麼

WBOY
WBOY原創
2022-03-02 11:56:106505瀏覽

oracle中,fetch用來限制查詢傳回的行數,可指定在行限制開始前要跳過行數,若跳過則偏移量為0,行限制從第一行開始計算,語法為「[OFFSET offset ROWS]FETCH NEXT ROWS[ONLY|WITH TES]」。

oraclefetch的用法是什麼

本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。

oraclefetch的用法是什麼

FETCH子句在Oracle中可以用來限制查詢傳回的行數,本教學將教大家如何使用FETCH子句。

Oracle FETCH子句語法

以下說明了行限制子句的語法:

[ OFFSET offset ROWS]
 FETCH  NEXT [  row_count | percent PERCENT  ] ROWS  [ ONLY | WITH TIES ]

OFFSET子句指定在行限制開始前要跳過行數。 OFFSET子句是可選的。 如果跳過它,則偏移量為0,行限制從第一行開始計算。

偏移量必須是一個數字或一個表達式,其值為一個數字。偏移量遵守以下規則:

  • 如果偏移量是負值,則將其視為0。

  • 如果偏移量為NULL或大於查詢傳回的行數,則不傳回任何行。

  • 如果偏移包含一個分數,則分數部分被截斷。

FETCH子句指定要傳回的行數或百分比。

為了語意清晰的目的,您可以使用關鍵字ROW而不是ROWS,FIRST而不是NEXT。 例如,下列子句的行為和產生的結果相同:

FETCH NEXT 1 ROWS
FETCH FIRST 1 ROW

ONLY | WITH TIES選項

只傳回FETCH NEXT(或FIRST)後的行數或行數的百分比。

WITH TIES傳回與最後一行相同的排序鍵。請注意,如果使用WITH TIES,則必須在查詢中指定一個ORDER BY子句。如果不這樣做,查詢將不會傳回額外的行。

Oracle FETCH子句實例

1. 取得前N行記錄的範例

以下語句傳回庫存量最高的前10個產品:

-- 以下查询语句仅能在Oracle 12c以上版本执行
SELECT
    product_name,
    quantity
FROM
    inventories
INNER JOIN products
        USING(product_id)
ORDER BY
    quantity DESC 
FETCH NEXT 5 ROWS ONLY;

推薦教學:《Oracle影片教學

以上是oraclefetch的用法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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