/**从数据'夏津县'的id开始,根据他的district_upper找到以district_upper作为id的数据也就是找到他的父亲,查出所有的父级的数据*/ select t.id, t.district_name, t.district_upper from itcpn_district t start with id = (select id from itcpn_district where district_name = '夏津县') connect by prior district_upper = id;
/***从数据'山东省'的id开始,根据山东省的id找到以它作为父节点district_upper的数据,也就是找到他的孩子,查出所有的子级的数据*/ select t.id, t.district_name, t.district_upper from itcpn_district t start with id = (select id from itcpn_district where district_name = '山东省') connect by district_upper = prior id;
查询顶级父节点:
select t.id, t.district_name, t.district_upper from itcpn_district t where t.district_upper is null start with id = (select id from itcpn_district where district_name = '夏津县') connect by prior district_upper = id;
学习参考:http://wentao365.iteye.com/blog/606009