Maison >base de données >tutoriel mysql >Comment effectuer des requêtes récursives dans SQLite3 pour rechercher toutes les sous-parties d'une SuperPart donnée ?
Requêtes récursives dans SQLite3
Question :
Dans SQLite3, comment pouvez-vous effectuer une requête récursive pour trouver toutes les paires d'un SuperPart donné avec son sous-parties ?
Réponse :
Dans les versions SQLite 3.8.3 et supérieures, les requêtes récursives sont prises en charge à l'aide d'expressions de table communes (CTE) avec la syntaxe WITH :
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;
Pour les versions antérieures à 3.8.3, SQLite ne prenait pas en charge les CTE, y compris les récursifs CTE. Par conséquent, la récursivité doit être implémentée manuellement dans le code client, comme suit :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!