Oracle は、SQL 言語標準を完全にサポートする、広く使用されているデータベース管理システムです。多くのシナリオでは、データの管理と表示を容易にするために、クエリ結果をページに表示する必要があります。次に、この記事では、Oracle がページング操作を実行する方法を紹介します。
1. ページングには ROWNUM を使用します
Oracle では、返された結果セットの各行を一意の値として識別できる ROWNUM 関数を提供しています。値には 1 から始まる番号が付けられます。 。この関数には次の特徴があります。
次に、ROWNUM 関数を使用してデータ ページング操作を実行できます。具体的な実装手順は次のとおりです:
例:
SELECT FROM (SELECT A., ROWNUM RN FROM (SELECT * FROM user_data ORDER BY user_id) A WHERE ROWNUM = 1;
上記の SQL ステートメントでは、サブクエリ ステートメントを使用して user_data テーブルのすべてのデータをクエリし、user_id フィールドに従って並べ替えています。最後に、クエリ結果セットに基づいて ROWNUM 関数を使用し、クエリ結果セットで返される行数を 20 行に制限します。上記の SQL ステートメントを使用した結果は、行 1 から行 20 までのデータ レコードです。
2. ページングには OFFSET...FETCH を使用する
ROWNUM ページング メソッドの制限に対応して、Oracle はバージョン 12c 以降、新しいページング メソッド、つまり OFFSET FETCH 挿入構文を提供しています。 ROWNUM 関数と比較した場合、OFFSET FETCH 構文の特徴は次のとおりです。
具体的な使用方法は次のとおりです。
SELECT * FROM user_data ORDER BY user_id OFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY;
上記SQL文の場合, OFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY 構文は、指定されたオフセットが行 0 であり、20 行のデータ レコードが取得されることを示します。
概要:
Oracle では、ROWNUM 関数と OFFSET FETCH 構文という 2 つのページング データ クエリ方法を提供しています。 ROWNUM 関数は、データ量が少なく、ページング操作を 1 回だけ実行する必要がある状況に適しています。 OFFSET FETCH 構文は、データ量が多く、複数のページングを継続的にクエリする必要がある状況に適しています。
以上がOracleでページネーションする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。