ホームページ >データベース >mysql チュートリアル >Pure SQL で LINQ の .Skip(1000).Take(100) をレプリケートするにはどうすればよいですか?

Pure SQL で LINQ の .Skip(1000).Take(100) をレプリケートするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-22 05:21:13613ブラウズ

How to Replicate LINQ's .Skip(1000).Take(100) in Pure SQL?

LINQ の .Skip(1000).Take(100) と同等の純粋な SQL

LINQ の .Skip(1000).Take(100)このメソッドを使用すると、データセット内の特定の範囲の行を選択できます。これは、SQL で OFFSET および FETCH キーワードを使用して実現できます。

SQL .Skip() と同等

.Skip(1000) メソッドは、次のように行をフィルタリングします。最初の 1000 行をスキップします。 SQL では、これは OFFSET キーワードを使用して実現できます。たとえば、Sales.SalesOrderHeader テーブルの最初の 1000 行をスキップするには、次を使用します。

SELECT *
FROM Sales.SalesOrderHeader
OFFSET 1000 ROWS

SQL 同等の .Take()

The .Take( 100) メソッドは、特定の数の行を取得します。 SQL では、これは FETCH キーワードを使用して実現できます。最初の 1000 行をスキップして次の 100 行を取得するには、次を使用します。

FETCH NEXT 100 ROWS ONLY

結合クエリ

2 つの操作を組み合わせたもので、.Skip(1000 と同等の SQL) ).Take(100)は:

SELECT *
FROM Sales.SalesOrderHeader
OFFSET 1000 ROWS
FETCH NEXT 100 ROWS ONLY

このクエリは、Sales.SalesOrderHeader テーブルから行 1000 ~ 1100 を選択します。これは、特に大規模なデータセットを操作する場合に、特定の範囲の行を取得する効率的な方法です。

以上がPure SQL で LINQ の .Skip(1000).Take(100) をレプリケートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。