oracle中fetch的用法是什么

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

oracle中fetch的用法是什么

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

oracle中fetch的用法是什么

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視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享