完整例子: select LTRIM(MAX(SYS_CONNECT_BY_PATH(ORG.ORGNAME, '-')), '-') from EOSORG_T_ORGANIZATION ORG start with ORG.ORGID = '103511' connect by PRIOR ORG.PARENTORGID = ORG.ORGID; 其中MAX函数取序号最大的记录 select MAX(SYS_CONNECT_BY_PATH(ORG.ORGNAME, '-')) from EOSORG_T_ORGANIZATION ORG start with ORG.ORGID = '103511' connect by PRIOR ORG.PARENTORGID = ORG.ORGID; ltrim:是个字符串函数,去掉左边的'-' select LTRIM(SYS_CONNECT_BY_PATH(ORG.ORGNAME,'-'),'-') from EOSORG_T_ORGANIZATION ORG start with ORG.ORGID = '103511' connect by PRIOR ORG.PARENTORGID = ORG.ORGID; 不带上面两个函数的结果 select SYS_CONNECT_BY_PATH(ORG.ORGNAME,'-') from EOSORG_T_ORGANIZATION ORG start with ORG.ORGID = '103511' connect by PRIOR ORG.PARENTORGID = ORG.ORGID; 查询条件:必须是个递归查询 select * from EOSORG_T_ORGANIZATION ORG start with ORG.ORGID = '103511' connect by PRIOR ORG.PARENTORGID = ORG.ORGID; 扩展:任意查询条件的例子: SELECT COL1, LTRIM(MAX(SYS_CONNECT_BY_PATH(COL2, ',')), ',') COL2 FROM (SELECT COL1, COL2, MIN(COL2) OVER(PARTITION BY COL1) COL2_MIN, (ROW_NUMBER() OVER(ORDER BY COL1, COL2)) + (DENSE_RANK() OVER(ORDER BY COL1)) NUMID FROM (select 1 COL1,displayname COL2 FROM tbl_aaaa_organization)) START WITH COL2 = COL2_MIN CONNECT BY NUMID - 1 = PRIOR NUMID GROUP BY COL1; 其中 select 1 COL1,displayname COL2 FROM tbl_aaaa_organization 是任意的查询条件 FROM (SELECT COL1, COL2, MIN(COL2) OVER(PARTITION BY COL1) COL2_MIN, (ROW_NUMBER() OVER(ORDER BY COL1, COL2)) + (DENSE_RANK() OVER(ORDER BY COL1)) NUMID FROM (select 1 COL1,displayname COL2 FROM tbl_aaaa_organization)) 就是为了创建一个递归表