树形结构数据有其中一个节点怎么找他的整个分支

比如说省市县 是id 和 pid 类型的

我现在查石家庄 怎么通过石家庄查到 石家庄是哪个省的市 石家庄下面有哪些县 石家庄 所处分支的全部分支

select * from 地区表名 a1
left join 地区表名 a2 on a1.pid = a2.id
left join 地区表名 a3 on a3.pid = a1.id
where name='石家庄'

请先说明一下你的数据库类型以及版本,不同数据库甚至同一数据库的不同版本的递归sql都可能有区别

mysql需要自己写递归函数,用find_in_set。