Rekursion i SQL

Relationelle databasestyringssystemer baseret på SQL er kun delvist egnede til hierarkiske eller rekursive forespørgsler. Andre systemer som ArangoDB er bedre egnet til dette (der var en god snak om dette på GOTO 2016 ). Det er dog også muligt at oprette rekursive forespørgsler i SQL ved hjælp af Common Table Expressions , hvilket giver dig mulighed for f.eks. at forespørge klassiske forældre/underordnede tabeller for alle forfædre og efterkommere.


I PostgreSQL ser det f.eks. Sådan ud:

0672c4761d202a35a9059fa137ace7c3/ca9b571d40544dcd8e0afc989c89c49f8b1f3251

Hvis du vil hente alle børn med et bestemt element_id, skal du bruge de fælles tabeludtryk:

0672c4761d202a35a9059fa137ace7c3/ca9b571d40544dcd8e0afc989c89c49f8b1f3251

Spørgsmål til forældrene er heller ikke noget problem:

0672c4761d202a35a9059fa137ace7c3/ca9b571d40544dcd8e0afc989c89c49f8b1f3251

Tilbage