TIL: Recursive CTE queries
 2021-08-24 
 - database
These are useful for tables that have columns like id and parent_id which
are recursive by nature. Also known as a parent child relationship. Here’s an
example in sqlite:
.headers on
with recursive cte (id, parent_id, name) as (
  select id, parent_id, name
  from module
  where id = 'a1d5d11609b0d207f94f34ce9747ceb6'
  union all
  select m.id, m.parent_id, m.name
  from module m
  join cte c on m.id = c.parent_id
)
select id, name from cte;