首页 > 代码库 > sql笔记
sql笔记
1. 看下面sql,重点有两个,一个是distinct ,一个是树形结构查询
select DISTINCT t.unit_code from t_unit_relation t where t.corp_tn=‘jiaozhougongan‘ start with t.unit_code=‘0001‘ connect by prior t.unit_code = t.unit_upcode
分析:
① distinct:去重复值
② 树形结构查询,这个博客:http://www.cnblogs.com/benbenduo/p/4588612.html,讲的很好
提出几句以作概括
start with 子句:遍历起始条件
connect by 子句:连接条件
prior: prior跟父节点列parentid放在一起,就是往父结点方向遍历;prior跟子结点列subid放在一起,则往叶子结点方向遍历,
parentid、subid两列谁放在“=”前都无所谓,关键是prior跟谁在一起。
select t.parentid, t.subid, level from table t start with t.parentid=‘7‘ connect by prior subid = parentid order by level desc
--prior跟着subid 说明往叶子结点遍历,以7为父结点的子结点
select t.parentid, t.subid, level from table t start with t.subid=‘7‘ connect by prior subid = parentid order by level desc
--prior跟着subid 说明往叶子结点遍历,以7为子节点的父结点,往下遍历,所以图二会有 3
效果图,借用那个博客的:
sql笔记
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。