Recursión en SQL

Los sistemas de gestión de bases de datos relacionales basados en SQL solo son parcialmente adecuados para consultas jerárquicas o recursivas. Otros sistemas, como ArangoDB, son más apropiados para esto (hubo una excelente charla al respecto en GOTO 2016 ). Sin embargo, también es posible crear consultas recursivas en SQL utilizando expresiones de tabla comunes , lo que permite, por ejemplo, consultar tablas clásicas padre/hijo para obtener todos los ancestros y descendientes.


En PostgreSQL se ve así, por ejemplo:

0672c4761d202a35a9059fa137ace7c3/ca9b571d40544dcd8e0afc989c89c49f8b1f3251

Si desea obtener todos los elementos secundarios de un determinado item_id, utilice las expresiones comunes de tabla:

0672c4761d202a35a9059fa137ace7c3/ca9b571d40544dcd8e0afc989c89c49f8b1f3251

Consultar a los padres tampoco es un problema:

0672c4761d202a35a9059fa137ace7c3/ca9b571d40544dcd8e0afc989c89c49f8b1f3251

Atrás