`
Javahuhui
  • 浏览: 78140 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

oracle树形查询

阅读更多
CREATE TABLE "T_FUNCTION"
  (
    "ID" VARCHAR2(32 CHAR) PRIMARY KEY NOT NULL ENABLE,
    "NAME"       VARCHAR2(50 CHAR) NOT NULL ENABLE,
    "PARENT_ID"  VARCHAR2(32 CHAR),
    CONSTRAINT "FK_C5438E4C3CE14B18944E16AB6F0" FOREIGN KEY ("PARENT_ID") REFERENCES "T_FUNCTION" ("ID") ENABLE
  )

插入测试数据:
Insert into T_FUNCTION (ID,PARENT_ID) values ('1',null);
Insert into T_FUNCTION (ID,PARENT_ID) values ('2',null);
Insert into T_FUNCTION (ID,PARENT_ID) values ('3','2');
Insert into T_FUNCTION (ID,PARENT_ID) values ('4','2');
Insert into T_FUNCTION (ID,PARENT_ID) values ('5','1');
Insert into T_FUNCTION (ID,PARENT_ID) values ('6','5');
Insert into T_FUNCTION (ID,PARENT_ID) values ('7','1');
Insert into T_FUNCTION (ID,PARENT_ID) values ('8','3');
Insert into T_FUNCTION (ID,PARENT_ID) values ('9','7');

树形查询关键词:connect by prior ... start with ...

select * from t_function f where 1=1 connect by prior f.id=f.parent_id start with f.id='1'

查询结果:
id   parent_id
1    null
5    1
7    1
6    5
9    7
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics