消息关闭
    暂无新消息!

start with,connect by prior原理详解

问题作者 : Lochead2017-06-15发布


我有点不明白这个sql的意思,网上的原理什么的没看明白真,大神给我通俗详解一下这条sql的意思

2个回答

︿ 1
start with,就是从哪一(些)行开始搜索。


connect by 是表本身自连接。
︿ 0
connect by 就是层次化查询,为了显示表中数据的层级关系。楼主可以想象一下二叉树结构,id为999的市工商局就是二叉树的最顶层,下面的分局是第二层,再往下还有第三层、第四层(假如有的话)......
connect by 的语法是:(start with 子句和connect by 子句顺序可以颠倒)
[START WITH conditiona1] CONNECT BY condition2
START WITH conditiona1:用来指定根节点,condition1中可以加子查询。
CONNECT BY condition2:condition2中必须包含PRIOR关键字,用来指定列是来自父行。PRIOR可以位于比较操作符的任何一方。condition2不能包含子查询。
如想进一步了解,可参考我的博客:http://blog.csdn.net/nextaction/article/details/68507368