SQL开发--树形层次累计求和案例

本文介绍了如何解决SQL中的树形层次累计求和问题,以公司部门费用总和为例,探讨了层次查询和层次累计的方法,包括使用`connect_by_root`等关键操作。
摘要由CSDN通过智能技术生成

今天碰到一个朋友找我帮忙写一个SQL,一看,是一个树形层次累计求和的问题,相当于求公司各个部门的费用总和,当然这种情况下部门这个节点也是有费用的,不多说了,先给上样例数据:

create table DEPARTMENT
(
  DEPNO        VARCHAR2(20),
  DEPNO_PARENT VARCHAR2(20),
  DEPNO_NAME   VARCHAR2(100)
);

create table SALARY
(
  EMP_ID   VARCHAR2(20),
  EMP_NAME VARCHAR2(50),
  DEPNO    VARCHAR2(20),
  SAL      NUMBER
);

insert into salary (EMP_ID, EMP_NAME, DEPNO, SAL) values ('1', '张三', '1', 3000);
insert into salary (EMP_ID, EMP_NAME, DEPNO, SAL) values ('2', '李四', '1', 6000);
insert into salary (EMP_ID, EMP_NAME, DEPNO, SAL) values ('3', '王五', '2', 2000);
insert into salary (EMP_ID, EMP_NAME, DEPNO, SAL) values ('4', '刘德华', '2', 10000);
insert into salary (EMP_ID, EMP_NAME, DEPNO, SAL) values ('5', '张学友', '3', 12000);
insert into salary (EMP_ID, EMP_NAME, DEPNO, SAL) values ('6', '郭富城', '4', 8000);
insert into salary (EMP_ID, EMP_NAME, DEPNO, SAL) values ('7', '黄小明', '5', 7000);
insert into salary (EMP_ID, EMP_NAME, DEPNO, SAL) values ('8', '邓超', '12', 7500);
insert into salary (EMP_ID, EMP_NAME, DEPNO, SAL) values ('9', '文章', '14', 5000);
commit;

insert into department (DEPNO, DEPNO_PARENT, DEPNO_NAME) values ('1', '0', '公司');
insert into department (DEPNO, DEPNO_PARENT, DEPNO_NAME)values ('2', '1', 'A');
insert into department (DEPNO, DEPNO_PARENT, DEPNO_NAME)values ('3', '1', 'B');
insert into department (DEPNO, DEPNO_PARENT, DEPNO_NAME)values ('4', '1', 'C');
insert into department (DEPNO, 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值