with recursive census (select c1.* from census_unit c1 where c1.id=#{id}
union
select c2.* from census_unit c2 inner join census c3 on c3.id=c2.p_id
)
select census.* from census
其中census是自定义的表名(就是数据库中不存在这个表,根据递归创的虚拟表)。 c1.id=#{id}中,#{id}记录当前结点位置