SQL循环递归查询.pdfVIP

  • 2
  • 0
  • 约2.31千字
  • 约 2页
  • 2024-01-04 发布于中国
  • 举报

SQL循环递归查询

介绍

SQL中表⽰多层关系很多⼈都喜欢使⽤同⼀个表,在每个⼦节点指定⽗节点的⽅法来实现。

这样难免会出现循环查询的时候,⽐如,查找事业部上⾯所有部门的层级信息,这时候我们需要以以⾃连接的⽅式去递归查询,直⾄找到

最顶层,当然你也可以规定递归次数。

下⾯是⼀个简单的递归查询:

withTab(AreaCode,AreaName,ParentAreaCode)as

(

selectAreaCode,AreaName,ParentAreaCodefromSys_AreawhereAreaCode=1

unionall

selecta.AreaCode,a.AreaName,a.ParentAreaCodefromSys_Areaa,Tabbwhere

b.AreaCode=a.ParentAreaCode

)

select*fromTab

注意:tab()括号内的列别名是⼀定要有的,不然会有缺少列别名的错误

orcal有两种⽅式可以实现递归查询,⼀种是connectby另⼀种就是with

之后我们来简单了解⼀下with关键字的递归查询:

语法

wi

文档评论(0)

1亿VIP精品文档

相关文档