3.6.13. LIMIT 句
LIMIT 句は SELECT コマンドから返されるレコードの数の制限を指定します。任意のオフセット(スキップする行数)を指定できます。LIMIT 句は、SQL 2008 OFFSET/FETCH FIRST 句を使用して指定することもできます。ORDER BY も指定された場合、OFFSET/LIMIT が適用される前に適用されます。ORDER BY が指定されていない場合、通常は行のサブセットが返す保証はありません。
用途
LIMIT [offset,] limit
LIMIT [offset,] limit
LIMIT limit OFFSET offset
LIMIT limit OFFSET offset
[OFFSET offset ROW|ROWS] [FETCH FIRST|NEXT [limit] ROW|ROWS ONLY]
[OFFSET offset ROW|ROWS] [FETCH FIRST|NEXT [limit] ROW|ROWS ONLY]
構文ルール
-
LIMIT/OFFSET 式は、負の値ではない整数またはパラメーター参照(
?
)である必要があります。0
のオフセットは無視されます。制限が0
の場合は、行が返されません。 - FIRST/NEXT という用語は交換可能で、ROW/ROWS です。
-
LIMIT 句は、結果が制限の論理アプリケーションと一致しない場合でも、プッシュ操作を抑制すべきではないことを示すオプションの NON_STRICT ヒントを取ることができます。ヒントは、順序のない制限(
"SELECT * FROM VW /*+ NON_STRICT */ LIMIT 2"
など)でのみ必要です。
LIMIT 句の例
-
LIMIT 100
は最初の 100 レコードを返します(行 1-100)。 -
LIMIT 500, 100
は 500 レコードを省略し、次の 100 レコード(行 501-600)を返します。 -
OFFSET 500 ROWS
は 500 レコードを省略します。 -
OFFSET 500 ROWS FETCH NEXT 100 ROWS ONLY
は 500 レコードのみをスキップし、次の 100 レコードを返します(行 501-600)。 -
FETCH FIRST ROW ONLY
は最初のレコードのみを返します。