Recursivitate în SQL

Sistemele de gestionare a bazelor de date relaționale bazate pe SQL sunt potrivite doar parțial pentru interogări ierarhice sau recursive. Alte sisteme, cum ar fi ArangoDB, sunt mai bune aici (s-a vorbit despre asta la GOTO 2016 ). Dar puteți genera, de asemenea, interogări recursive în SQL cu ajutorul expresiilor de tabel comune și, astfel, interogați tabele clasice părinte / copil pentru toți strămoșii și descendenții.


În PostgreSQL, așa arată, de exemplu:

0672c4761d202a35a9059fa137ace7c3

Dacă doriți să obțineți toți copiii unui anumit item_id, utilizați expresiile comune în tabel:

0672c4761d202a35a9059fa137ace7c3

Nici interogarea părinților nu este o problemă:

0672c4761d202a35a9059fa137ace7c3

Înapoi