当前位置: 首页 > 面试题库 >

递归SQL查询T-SQL

子车征
2023-03-14
问题内容

我们如何在T-SQL中编写递归SQL查询?您能举一个这样的递归sql查询的简单例子吗?


问题答案:
CREATE TABLE ATable (ID INTEGER, ParentID INTEGER)

INSERT INTO ATable 
SELECT 1, NULL
UNION ALL SELECT 2, 1
UNION ALL SELECT 3, 2

;WITH q AS (
  SELECT  ID, ParentID
  FROM    ATable
  UNION ALL 
  SELECT  a.ID, a.ParentID
  FROM    ATable a
          INNER JOIN q ON q.ID = a.ParentID
)
SELECT  DISTINCT *
FROM    q


 类似资料:
  • 问题内容: 基于现有表,我使用了CTE递归查询来得出以下数据。但是无法进一步应用它。 数据如下 我想从上述数据递归形成完整路径。意味着递归将给出以下输出。 谢谢 问题答案: 以下是CTE的示例:

  • 主要内容:带有 SELECT 语句的子查询,带有 INSERT 语句的子查询,带有 UPDATE 语句的子查询,带有 DELETE 语句的子查询子查询与其他 SQL Server 查询一起使用并嵌入 WHERE 子句。子查询用于返回数据,在主问题中用作限制要检索的数据的条件。 子查询与语句 SELECT、INSERT、UPDATE 和 DELETE 一起使用,并带有运算符 、、、、、 和 等。 子查询遵循的规则很少 - 子查询括在括号中。 子查询包括 FROM 子句和 SELECT 子句。 子查

  • 问题内容: 我有一组按层次结构组织的数据,应该可以增长到任意大小。我需要检索整个树,但是我无法弄清楚如何仅使用SQL来完成。我当前的解决方案是创建一个临时表,并使用递归函数依次查询树的分支,然后将结果存储在临时表中,随后我再次对其进行查询以产生所需的结果。 我的问题是,从本质上讲,我正在执行的联接正确吗?构造一个中间表,然后查询结果。似乎应该有一种使用联接的方法,但是MySQL文档仅涵盖检索有限深

  • 问题内容: JPA 2是否具有运行递归查询的任何机制? 这是我的情况:我有一个实体E,其中包含一个整数字段x。它还可能具有通过@OneToMany映射的E类型的子代。我想做的是通过主键找到一个E,并获取其x的值以及所有后代的x值。有没有办法在单个查询中执行此操作? 我正在使用Hibernate 3.5.3,但我不希望在Hibernate API上没有任何明确的依赖关系。 编辑:根据这一项目,Hib

  • 表T表示树。每个记录都是一个节点,每个节点只有一个父节点。 该查询计算每个节点的每个分支的SUM()。 我一直在尝试使用替代的子查询分解语法来实现这个查询的相同结果。任何帮助都将不胜感激!

  • 问题内容: 我有下表: 我想让所有行都回溯,直到不再有parentID为止。因此, “ .... WHERE id = 5” 会给我: 问题答案: 您正在使用邻接表模型来组织层次结构数据。这种递归操作很困难的事实实际上是该模型的一个主要缺点。 一些DBMS(例如SQL Server 2005,Postgres 8.4和Oracle 11g)支持使用带有关键字的常用表表达式进行递归查询。 对于MyS