Recursie in SQL

Op SQL gebaseerde relationele databasebeheersystemen zijn alleen voorwaardelijk geschikt voor hiërarchische of recursieve zoekopdrachten. Andere systemen zoals ArangoDB zijn hier beter (er was een goed gesprek hierover op GOTO 2016 ). U kunt ook recursieve query's in SQL maken met behulp van algemene tabelexpressies en zo klassieke bovenliggende / onderliggende tabellen opvragen voor alle voorouders en afstammelingen.


In PostgreSQL ziet het er bijvoorbeeld zo uit:

0672c4761d202a35a9059fa137ace7c3

Als je alle onderliggende items van een bepaalde item_id wilt hebben, gebruik je de Common Table Expressions:

0672c4761d202a35a9059fa137ace7c3

Ook navragen bij de ouders is geen probleem:

0672c4761d202a35a9059fa137ace7c3

Terug