Rekursive Abfragen in SQLite3: Ein umfassender Leitfaden
Während SQLite3 in der Vergangenheit keine Unterstützung für rekursive Abfragen hatte, haben jüngste Fortschritte diese Funktion mit eingeführt Einführung von Common Table Expressions (CTEs) in Version 3.8.3.
Mit rekursiven CTEs (SQLite 3.8.3 oder höher)
SQLite3 bietet jetzt die WITH-Anweisung, die die Definition rekursiver CTEs ermöglicht. Mit einem rekursiven CTE können Sie problemlos rekursive Abfragen durchführen:
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;
Rekursive Abfragen in früheren SQLite3-Versionen
Vor Version 3.8.3 wurde SQLite3 nicht unterstützt rekursive Abfragen. Es gibt jedoch eine Problemumgehung, indem die Rekursion im Client-Code implementiert wird:
SELECT Part, SuperPart FROM Part WHERE SuperPart IS NULL;
SELECT Part, SuperPart FROM Part WHERE SuperPart IN (sub-part IDs from previous step);
Das obige ist der detaillierte Inhalt vonWie kann ich rekursive Abfragen in SQLite3 durchführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!