Rekursion në SQL

Sistemet e menaxhimit të bazave të të dhënave relacionale të bazuara në SQL janë vetëm pjesërisht të përshtatshme për pyetje hierarkike ose rekursive. Sisteme të tjera si ArangoDB janë më të përshtatshme për këtë (u diskutua shumë për këtë në GOTO 2016 ). Megjithatë, është gjithashtu e mundur të krijohen pyetje rekursive në SQL duke përdorur Shprehjet e Përbashkëta të Tabelave , duke ju lejuar, për shembull, të kërkoni tabela klasike prind/fëmijë për të gjithë paraardhësit dhe pasardhësit.


Në PostgreSQL duket kështu, për shembull:

0672c4761d202a35a9059fa137ace7c3

Nëse doni të merrni të gjithë fëmijët e një artikulli_id të caktuar, ju përdorni Shprehjet e Përbashkëta të Tabelave:

0672c4761d202a35a9059fa137ace7c3

Bërja në pyetje e prindërve gjithashtu nuk është problem:

0672c4761d202a35a9059fa137ace7c3

Mbrapa