ホームページ >データベース >mysql チュートリアル >SQLite3 で再帰クエリを実行して特定のスーパーパートのすべてのサブパートを検索するにはどうすればよいですか?

SQLite3 で再帰クエリを実行して特定のスーパーパートのすべてのサブパートを検索するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-31 20:56:12437ブラウズ

How to Perform Recursive Queries in SQLite3 to Find All Subparts of a Given SuperPart?

SQLite3 の再帰クエリ

質問:

SQLite3 では、どのようにクエリを実行できますか?指定された SuperPart とその SuperPart のすべてのペアを検索する再帰クエリサブパート?

回答:

SQLite バージョン 3.8.3 以降では、WITH 構文を使用した共通テーブル式 (CTE) を使用した再帰クエリがサポートされています。

WITH RECURSIVE Subparts AS (
  SELECT Part, SuperPart FROM Part
  UNION ALL
  SELECT p.Part, p.SuperPart FROM Part p JOIN Subparts s ON p.SuperPart = s.Part
)
SELECT * FROM Subparts;

3.8.3 より前のバージョンの場合、SQLite は再帰的 CTE を含む CTE をサポートします。したがって、次のように再帰をクライアント コードに手動で実装する必要があります。

  1. 最初の行とサブパート ID をフェッチします。
  2. 行とサブパート ID をフェッチします。サブパート。
  3. 行が返されなくなるまで手順 1 と 2 を繰り返します。

以上がSQLite3 で再帰クエリを実行して特定のスーパーパートのすべてのサブパートを検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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