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 ( /* ... */ )