Oracle start with .... connect by 查询树结构数据
2014-03-18 15:13
148 查看
create table bicycle
(
part_id number(5) ,
parent_id number(5) constraint fk_bicycle_pid references bicycle(part_id),
part_name varchar2(30) not null,
mp_cost number(9,2),
describe varchar2(30),
constraint pk_bicycle_part_id primary key (part_id)
);
insert into bicycle values(1,null,'自行车',379.28,'装配');
insert into bicycle values(2,1,'导向系统',101.11,'制造');
insert into bicycle values(3,1,'驱动系统',159.11,'制造');
insert into bicycle values(4,1,'其他部分',118.11,'制造和采购');
insert into bicycle values(5,2,'车把',37.11,'制造');
insert into bicycle values(6,2,'前叉',24.11,'制造');
insert into bicycle values(7,2,'前轴',19.11,'制造');
insert into bicycle values(8,2,'前轮',19.11,'制造');
insert into bicycle values(9,7,'前轴棍',8.11,'制造');
insert into bicycle values(10,7,'前轴身',4.11,'制造');
insert into bicycle values(11,7,'前轴碗',6.11,'制造');
insert into bicycle values(12,10,'前轴管',1.11,'制造');
insert into bicycle values(13,10,'前轴盘',3.11,'制造');
select level,t.* from bicycle t
start with t.part_id=1
connect by prior part_id=parent_id
order by level;
查询的事包括子辈的和孙子辈的所有直属节点;
select level,t.* from bicycle t
start with t.part_id=1
connect by part_id=prior parent_id
order by level;
如果查找的是节点的直属父节点,也是不用用到树型查询的。
(
part_id number(5) ,
parent_id number(5) constraint fk_bicycle_pid references bicycle(part_id),
part_name varchar2(30) not null,
mp_cost number(9,2),
describe varchar2(30),
constraint pk_bicycle_part_id primary key (part_id)
);
insert into bicycle values(1,null,'自行车',379.28,'装配');
insert into bicycle values(2,1,'导向系统',101.11,'制造');
insert into bicycle values(3,1,'驱动系统',159.11,'制造');
insert into bicycle values(4,1,'其他部分',118.11,'制造和采购');
insert into bicycle values(5,2,'车把',37.11,'制造');
insert into bicycle values(6,2,'前叉',24.11,'制造');
insert into bicycle values(7,2,'前轴',19.11,'制造');
insert into bicycle values(8,2,'前轮',19.11,'制造');
insert into bicycle values(9,7,'前轴棍',8.11,'制造');
insert into bicycle values(10,7,'前轴身',4.11,'制造');
insert into bicycle values(11,7,'前轴碗',6.11,'制造');
insert into bicycle values(12,10,'前轴管',1.11,'制造');
insert into bicycle values(13,10,'前轴盘',3.11,'制造');
select level,t.* from bicycle t
start with t.part_id=1
connect by prior part_id=parent_id
order by level;
查询的事包括子辈的和孙子辈的所有直属节点;
select level,t.* from bicycle t
start with t.part_id=1
connect by part_id=prior parent_id
order by level;
如果查找的是节点的直属父节点,也是不用用到树型查询的。
相关文章推荐
- MySql的sql语句中添加存储过程或者存储函数来实现Oracle中的start with ……connect by prior……递归(树形结构数据)查询
- Oracle树结构查询(connect by ...)
- ORACLE 层次结构查询语句 start with connect by prior
- ORACLE 层次结构查询语句 start with connect by 你用过吗?
- Oracle树结构查询 start with ... connect by用法简介
- oracle树结构查询(start with connect by prior )
- oracle树结构查询----connect by语法详解
- oracle树形结构层级查询之start with ....connect by prior、level、order by以及sys_connect_by_path之浅谈
- Oracle树结构查询 start with ... connect by用法简介
- Oracle树结构查询 start with ... connect by用法简介&sql有向图问题期待新解决方案
- Oracle Connect By用法 树形结构查询
- oracle树结构查询----connect by语法详解
- Oracle树结构查询——connect by语法详解
- oracle树结构查询----connect by语法详解
- Informix数据表结构分析资料整理之约束查询代码
- Oracle查询数据表结构(字段,类型,大小,备注)
- SQL基础-->层次化查询(START BY ... CONNECT BY PRIOR)
- sql server查询表结构(字段名,数据类型,长度,描述,是否允许为空,是否为主键)
- 关于mysql中数据存储复合树形结构,查询时结果按树形结构输出
- oracle中进行简单树查询(递归查询) ,PRIOR、CONNECT_BY_ROOT的使用 .