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

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

0672c4761d202a35a9059fa137ace7c3

Consultar a los padres tampoco es un problema:

0672c4761d202a35a9059fa137ace7c3

Atrás