LIMIT
Clauseは、SELECT
コマンドから返されるレコード数の制限を指定します。オプションでオフセット(スキップする行数)を指定できます。LIMIT
句は、SQL 2008 OFFSET
/ FETCH FIRST
句を使用して指定することもできます。ORDER BY
も指定されている場合は、OFFSET
/ LIMIT
が適用される前に適用されます。ORDER BY
が指定されない場合、どのような行のサブセットが返されるかは一般的に保証されません。
Usage
LIMIT [offset,] limit
-- or
[OFFSET offset ROW|
ROWS
] [
FETCH
FIRST
|
NEXT
[limit] ROW|
ROWS
ONLY
Syntax Rules
limit
/offset
式は非負整数でなければなりません。オフセット0は無視されます。LIMIT が0の場合、行は返されません;FIRST
/NEXT
という用語は互換性があり、ROW
/ROWS
という用語も互換性があります;- limit句は、結果がlimitの論理的適用と一致しない場合でも、プッシュ操作が禁止されるべきではないことを示すために、オプションで先行する
NON_STRICT
ヒントを取ることができます。ヒントが必要なのは、SELECT * FROM VW /*+ NON_STRICT */ LIMIT 2
のような順不同のリミットのみです。例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
- は最初のレコードのみを返します。
- Be sure that there is no whitespace between
/*
and+
when using e.g./*+ NON_STRICT */
; - Configure your SQL client not to remove multi-line comments (in Squirrel: Session->Session Properties->SQL-> Remove multi-line comment ( /* ... */ )