oracle中,fetch用來限制查詢傳回的行數,可指定在行限制開始前要跳過行數,若跳過則偏移量為0,行限制從第一行開始計算,語法為「[OFFSET offset ROWS]FETCH NEXT ROWS[ONLY|WITH TES]」。
本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。
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中文網其他相關文章!