神通数据库connect by用法
神通数据库大多数sql和Oracle用法一样。
对于connect by ,大致的理解是用于树形结构的表,一般在于查找父子关系数据时使用。
模板sql如下:
select * from treeTable start with id=1 connect by prior id=parentid
其中,start with id = 1 是第一层数据的关卡,即第一层数据通过此条件查找。
而connect by之后的prior id=parentid是起递归作用的条件,prior 在id的前面,意识是通过第一层的id匹配第二层的parentid进而找到数据,再解释一遍是通过爸爸的id找到儿子的parentid
如果prior在parentid的前面,像这样,connecy by id = prior parentid 这句话的意思是通过儿子的parentid找到爸爸的id。
下面进行具体举例:
通过执行蓝色选中的sql返回1条数据在下面红框,值为01
所以我们第一层条件为start with ITEM_CODE=01
我们要通过爸爸的ITEM_CODE找到儿子的PARENT_ITEM_CODE,下面执行全部sql查看结果
全部执行完后,蓝色标注是父亲和儿子对应的关系,通过父亲的01找到儿子的01,这就是connect by的作用。