在项目开发中树型结构是经常被使用的,通常情况下我们对查询的结果集使用一些免费的js文件就能达到很好的显示效果,比如

但是有时候我们需要对下拉列表也提供树型结构(比如论坛的板块跳转),这个时候我们就可以使用oracle9i以上版本提供的CONNECT BY 子句了。
SELECT kindid,kindname,fatherid
FROM kn_kind
CONNECT BY PRIOR kindid=fatherid
START WITH kindid='0';
再稍加处理即可以得到需要的效果:
SELECT lpad('|-',(level-1)*4,' ')||lpad('『',2)||kindname||rpad('』',2) kindname
FROM kn_kind
CONNECT BY PRIOR kindid=fatherid
START WITH kindid='0';
