当前位置:  数据库>sqlserver

sql递归查询(with cte实现)

    来源: 互联网  发布时间:2014-08-29

    本文导语:  sql递归查询的例子,有需要的朋友可以参考下。 代码示例: with cte as ( select Id,Pid,DeptName,0 as lvl from Department where Id = 2 union all select d.Id,d.Pid,d.DeptName,lvl+1 from cte c inner join Department d on c.Id = d.Pid ) select * from cte 一、表结构  ...

sql递归查询的例子,有需要的朋友可以参考下。

代码示例:

with cte as
(
select Id,Pid,DeptName,0 as lvl from Department
where Id = 2
union all
select d.Id,d.Pid,d.DeptName,lvl+1 from cte c inner join Department d
on c.Id = d.Pid
)
select * from cte

一、表结构
 

代码示例:
Id Pid DeptName
----------- -----------
1 0 总部
2 1 研发部
3 1 测试部
4 1 质量部
5 2 小组1
6 2 小组2
7 3 测试1
8 3 测试2
9 5 前端组
10 5 美工

二、查询结果 查部门ID=2的所有下级部门和本级
 

代码示例:
Id Pid DeptName lvl
----------- -----------  -----------
2 1 研发部 0
5 2 小组1 1
6 2 小组2 1
9 5 前端组 2
10 5 美工 2

(5 行受影响)

三、原理分析
递归CTE最少包含两个查询(也被称为成员)。
第一个查询为定点成员,定点成员只是一个返回有效表的查询,用于递归的基础或定位点。
第二个查询被称为递归成员,使该查询称为递归成员的是对CTE名称的递归引用是触发。在逻辑上可以将CTE名称的内部应用理解为前一个查询的结果集。

递归查询没有显式的递归终止条件,只有当第二个递归查询返回空结果集或是超出了递归次数的最大限制时才停止递归。
是指递归次数上限的方法是使用MAXRECURION。

意犹未尽吗?那么,继续阅读如下的文章吧:
 sql递归查询代码(cte应用)
sql2005递归查询的例子
sql 递归查询的代码(图文)
sql server 递归查询数据的一段代码
Oracle递归查询举例


    
 
 

您可能感兴趣的文章:

  • sql2005递归查询的例子
  • MSSQL中递归SQL查询语句实例说明-
  • sql递归函数示例
  • sql函数实现递归查询示例
  • sql递归查询代码(cte应用)
  • SQL递归查询实例
  • sql server 递归查询数据的一段代码
  • sql 递归查询的代码(图文)
  • oracle SQL递归的使用详解
  • SQL实现递归及存储过程中In()参数传递解决方案详解
  • sql语句之递归查询
  • 深入sql oracle递归查询
  • SQL临时表递归查询子信息并返回记录的代码
  • SQL递归查询的几种实现方法
  • Sql学习第三天——SQL 关于CTE(公用表达式)的递归查询使用
  • 如何实现连接一次数据库,提交多个sql语句。(sql的批处理)
  • 我想把csdn的论坛改成一个软件平台,另外增加数据查询功能,聊天功能,不知怎样实现比较好?我想用jbuider 7+SQL server实现,不知如何?
  • SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
  • SQL Server设置主键自增长列(使用sql语句实现)
  • 如何实现DOS下用Turbo C 连接SQL Server 7?
  • 在SQL server 2000中用JAVA实现图片存储
  • 如何实现用jsp将sql server 的数据备份出来!并指定存放路径!
  • 如何实现图片上传啊,而且我想把它记录在SQL SERVER中!!有空请帮我!!!
  • 用oracle pl/sql 从A unix机器,去读取B unix机器上的一个文件,怎么实现?
  • 用SQL语句实现替换字符串
  • 请问在 Linux 下如何用代码实现连接oracle数据库 并 执行 SQL 语句?
  • 写sql进数据库(DB2)怎样实现自动插入(表的主键为String)
  • SQL Server 7.0或2000 的jdbc驱动程序中提供了连接池的实现吗?
  • 在ADF中跟踪SQL执行时间实现代码
  • sql server中通过查询分析器实现数据库的备份与恢复方法分享
  • SQL Server本地时间和UTC时间的相互转换实现代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • mysql的SQL_NO_CACHE(在查询时不使用缓存)和sql_cache用法
  • sql中count或sum为条件的查询示例(sql查询count)
  • mysql中查询当前正在运行的SQL语句并找出mysql中运行慢的sql语句
  • SQL查询分析工具 SQL Workbench/J
  • mysqli多查询特性 实现多条sql语句查询
  • sql server简单查询的例子(sql入门)
  • 根据时间范围条件查询数据sql语句
  • 在SQL Server中使用SQL语句查询一个存储过程被其它所有的存储过程引用的存储过程名
  • shell中关于sql查询结果的判断?
  • SQL查询工具 SuperQuaiL
  • HBase上使用SQL查询 Phoniex
  • sql 查询所有数据库、表名、表字段的代码
  • 查询SQL Server中所有数据库的数据文件位置的sql脚本
  • 在SQL Server中查询资料库的TABLE数量与名称的sql语句
  • 在线等待!一个简单的SQL查询问题?
  • SQL SERVER 查询正在实行的SQL语句
  • SQLServer中用T—SQL命令查询一个数据库中有哪些表的sql语句
  • SQL查询问题
  • SQL日期查询与比较方法
  • SQL Server日志过大会影响查询结果
  • 将string数组转化为sql的in条件用sql查询
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • SQL Server统计SQL语句执行时间的脚本
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • SQL客户端管理工具 SQuirreL SQL Client


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3