Rekurzió SQL-ben

Az SQL-en alapuló relációs adatbázis-kezelő rendszerek csak részben alkalmasak hierarchikus vagy rekurzív lekérdezésekre. Más rendszerek, mint például az ArangoDB , jobban megfelelnek erre (erről nagyszerű előadás volt a 2016-os GOTO konferencián ). Azonban rekurzív lekérdezéseket is lehet létrehozni SQL-ben a Common Table Expressions (közös táblakifejezések ) használatával, lehetővé téve például a klasszikus szülő/gyermek táblák lekérdezését az összes ős és leszármazott esetében.


A PostgreSQL-ben például így néz ki:

0672c4761d202a35a9059fa137ace7c3

Ha meg akarja kapni egy adott item_id összes gyermekét, használja a Közös tábla kifejezéseket:

0672c4761d202a35a9059fa137ace7c3

A szülők lekérdezése szintén nem probléma:

0672c4761d202a35a9059fa137ace7c3

Vissza