Pertanyaan Rekursif dalam SQLite3: Panduan Komprehensif
Walaupun SQLite3 dari segi sejarah kekurangan sokongan untuk pertanyaan rekursif, kemajuan terkini telah memperkenalkan keupayaan ini dengan pengenalan ungkapan jadual biasa (CTE) dalam versi 3.8.3.
Dengan CTE Rekursif (SQLite 3.8.3 atau Lebih Tinggi)
SQLite3 kini menawarkan pernyataan WITH, yang membenarkan definisi CTE rekursif. Menggunakan CTE rekursif, anda boleh melakukan pertanyaan rekursif dengan mudah:
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;
Pertanyaan Rekursif dalam Versi SQLite3 Terdahulu
Sebelum versi 3.8.3, SQLite3 tidak menyokong pertanyaan rekursif. Walau bagaimanapun, penyelesaian wujud dengan melaksanakan rekursi dalam kod klien:
SELECT Part, SuperPart FROM Part WHERE SuperPart IS NULL;
SELECT Part, SuperPart FROM Part WHERE SuperPart IN (sub-part IDs from previous step);
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melakukan Pertanyaan Rekursif dalam SQLite3?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!