加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

一些oracle 高级查询语句

发布时间:2020-12-12 15:04:43 所属栏目:百科 来源:网络整理
导读:一。 Oracle中的select语句可以用start with ... connect by prior ...子句实现递归查询,connect by 是结构化查询中用到的, 基本语法是: select ... from where 过滤条件,用于对返回的所有记录进行过滤 start with 根结点的限定语句,当然可以放宽限定条

一。Oracle中的select语句可以用start with ... connect by prior ...子句实现递归查询,connect by 是结构化查询中用到的,

基本语法是:

select ... from
where <过滤条件,用于对返回的所有记录进行过滤>
start with <根结点的限定语句,当然可以放宽限定条件,以取得多个根结点,实际就是多棵树>
connect by [prior] <连接条件,其中用prior表示上一条记录,比如:connect by prior t.id = t.parent_id就是说上一条记录的id 是本条记录的parent_id,即本记录的父亲是上一条记录>

假设表结构:

branchid,subcode,subname. 其中branchid是subcode代表的机构的父机构

查询7025分公司的所有分支机构

select WMSYS.WM_CONCAT(subcode) from company t start with subcode=7025 connect by prior t.subcode=t.branchid;

获取到:7025,501,502,503,504,505;WMSYS.WM_CONCAT是将所有结构用逗号相连


二。计算同比环比


lead lag 不想写了

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读