黄色电影一区二区,韩国少妇自慰A片免费看,精品人妻少妇一级毛片免费蜜桃AV按摩师 ,超碰 香蕉

Oracle Fetch子句

Oracle Fetch子句

FETCH子句在Oracle中可以用來限制查詢返回的行數(shù),本教程將教大家如何使用FETCH子句。

 

Oracle FETCH子句語法

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

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

OFFSET子句

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

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

  • 如果偏移量是負值,則將其視為0。
  • 如果偏移量為NULL或大于查詢返回的行數(shù),則不返回任何行。
  • 如果偏移量包含一個分數(shù),則分數(shù)部分被截斷。

FETCH子句

FETCH子句指定要返回的行數(shù)或百分比。

為了語義清晰的目的,您可以使用關(guān)鍵字ROW而不是ROWS,F(xiàn)IRST而不是NEXT。 例如,以下子句的行為和產(chǎn)生的結(jié)果相同:

FETCH NEXT 1 ROWS
FETCH FIRST 1 ROW

ONLY | WITH TIES選項

僅返回FETCH NEXT(或FIRST)后的行數(shù)或行數(shù)的百分比。

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

 

Oracle FETCH子句實例

1. 獲取前N行記錄的示例

以下語句返回庫存量最高的前10個產(chǎn)品:

-- 以下查詢語句僅能在Oracle 12c以上版本執(zhí)行

SELECT
    product_name,
    quantity
FROM
    inventories
INNER JOIN products
        USING(product_id)
ORDER BY
    quantity DESC
FETCH NEXT 5 ROWS ONLY;

2. WITH TIES示例

以下查詢使用WITH TIES選項的行限制子句:

-- 以下查詢語句僅能在Oracle 12c以上版本執(zhí)行

SELECT
 product_name,
 quantity
FROM
 inventories
INNER JOIN products
 USING(product_id)
ORDER BY
 quantity DESC
FETCH NEXT 10 ROWS WITH TIES;

即使查詢請求了10行數(shù)據(jù),因為它具有WITH TIES選項,查詢還返回了另外兩行。 請注意,這兩個附加行在quantity列的值與第10行quantity列的值相同。

下一節(jié):Oracle In子句

Oracle教程

相關(guān)文章