Oracle では、クエリによって返される行数を制限するためにフェッチが使用されます。行制限が始まる前にスキップする行数を指定できます。スキップされる場合、オフセットは 0 で、行は制限は最初の行から計算され、構文は「[OFFSET offset ROWS]FETCH NEXT ROWS[ONLY|WITH TES]」です。
このチュートリアルの動作環境: Windows 10 システム、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 句は、返す行の数または割合を指定します。
意味を明確にするために、ROWS の代わりにキーワード ROW、NEXT の代わりに FIRST というキーワードを使用できます。たとえば、次の句は動作し、同じ結果を生成します:
FETCH NEXT 1 ROWS FETCH FIRST 1 ROW
ONLY | WITH TIES オプション
FETCH NEXT (または FETCH NEXT) 後の行数または行数のパーセンテージのみを返します。初め)。
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 ビデオ チュートリアル 」
以上がOracleでのfetchの使用法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。