Rekursio en SQL

Interrilataj administradaj sistemoj bazitaj sur SQL nur kondiĉe taŭgas por hierarkiaj aŭ rekursivaj demandoj. Aliaj sistemoj kiel ArangoDB estas pli bonaj ĉi tie (oni bonege parolis pri tio ĉe GOTO 2016 ). Vi ankaŭ povas krei rekursiajn demandojn en SQL helpe de oftaj tabelaj esprimoj kaj tiel pridemandi klasikajn gepatrajn / infanajn tabelojn por ĉiuj prapatroj kaj posteuloj.


En PostgreSQL ĝi aspektas tiel, ekzemple:

0672c4761d202a35a9059fa137ace7c3

Se vi volas akiri ĉiujn infanojn de certa item_id, vi uzas la Oftajn Tabelajn Esprimojn:

0672c4761d202a35a9059fa137ace7c3

Demandi la gepatrojn ankaŭ ne estas problemo:

0672c4761d202a35a9059fa137ace7c3

Reen