假定,当前有一个表
TA
Id | name | upId |
1 | a | 0 |
2 | b | 1 |
3 | c | 1 |
4 | d | 2 |
5 | e | 3 |
现在想要遍历查询 id=5的节点的所有父节点的名字
with chaxun as(
select name from TA where id=5
union all
select name from TA , haxun where chaxun.upid=TA.id
)
这样就ok了。
这里,需要注意的是
with chaxun as
是将一个查询的结果存入一个“chaxun”的变量中以后可以调用,值得注意的是,不同Connection之间也可以调用……
union all
是将一个查询的结果“连接”入前一个查询结果的下方,要求这两个结果必须有同等数量的字段和字段类型基本一致。