Oracle的多表关系树查询与单表没有差别,只需要将父子关系理对即可:
表A是父表,有一个id字段
表B是关系表,s_id表示父节点,d_id表示子节点
表C是子表,有一个id字段
那么从根节点遍历到子节点我们可以写出这样的树查询:
select a.id, c.id from A a left join B b on b.s_id = a.id left join
C c on b.d_id = c.id start with a.id =? connect by prior c.id = a.id