単一 SQL クエリでの複数の CTE の結合
WITH キーワードの後に続けて使用すると、単一のクエリで複数の CTE を結合できます。各 CTE の定義。ただし、CTE のいずれかが再帰的 (rCTE) である場合は、ステートメントの先頭で RECURSIVE キーワードも使用する必要があります。
例:
WITH RECURSIVE cte1 AS ( ... ), cte2 AS ( SELECT ... UNION ALL SELECT ... ), cte3 AS ( ... ) SELECT ... FROM cte3 WHERE ...
この例では、cte1は非再帰 CTE、cte2 は rCTE、cte3 は別の非再帰ですCTE.
RECURSIVE キーワードを使用する場合、WITH 句の順序は関係ありません。これは、リストの後の方にある CTE を参照できることを意味します。
場合によっては、クエリを簡素化するために非再帰 CTE を使用することができます。たとえば、非再帰 CTE を使用して、他の CTE で使用できる一時テーブルを作成できます。
単一のクエリで複数の CTE を使用すると、コードのパフォーマンスと読みやすさを向上させることができます。 .
以上が再帰的 CTE を含む複数の CTE を単一の SQL クエリに結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。