SQLite3 の再帰クエリ: 総合ガイド
SQLite3 には歴史的に再帰クエリのサポートがありませんでしたが、最近の進歩によりこの機能が導入されました。バージョンでの共通テーブル式 (CTE) の導入3.8.3.
再帰 CTE の使用 (SQLite 3.8.3 以降)
SQLite3 では、再帰 CTE の定義を可能にする WITH ステートメントが提供されるようになりました。再帰 CTE を使用すると、再帰クエリを簡単に実行できます。
WITH RECURSIVE Subparts AS ( SELECT Part, SuperPart FROM Part WHERE SuperPart IS NULL UNION SELECT Part, SuperPart FROM Subparts JOIN Part ON Subparts.SuperPart = Part.Part ) SELECT * FROM Subparts;
以前の SQLite3 バージョンでの再帰クエリ
バージョン 3.8.3 より前の SQLite3 はサポートしていませんでした。再帰的なクエリ。ただし、クライアント コードに再帰を実装することで回避策が存在します。
SELECT Part, SuperPart FROM Part WHERE SuperPart IS NULL;
SELECT Part, SuperPart FROM Part WHERE SuperPart IN (sub-part IDs from previous step);
以上がSQLite3 で再帰クエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。