with recursive用法

这篇具有很好参考价值的文章主要介绍了with recursive用法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

with recursive 则是一个递归的查询子句,他会把查询出来的结果再次代入到查询子句中继续查询。

with recursive d(n, fact) as (
values (1,2)
union all #合并
select n+1, (n+1)*fact from d where n < 5)
SELECT * from d;

with recursive用法

递归过程如下:
n=1 fact=2
n=1,n<5: n=1+1=2,fact=(1+1)*2=4
n=2,n<5:n=2+1=3,fact=(2+1)*4=12
n=3,n<5:n=3+1=4,fact=(3+1)*12=48
n=4,n<5:n=4+1=5,fact=(4+1)*48=240
n=5 n>=5==stop

with recursive d(n, fact) as (
values (1,2)
union all
select n+2, (n+1)*fact from d where n < 5)
SELECT * from d;

with recursive用法
递归过程如下:
n=1 fact=2
n=1,n<5: n=1+2=3,fact=(1+1)*2=4
n=3,n<5:n=3+2=5,fact=(3+1)*4=16
n=5 n>=5==stop

with recursive d(n, fact) as (
values (1,2)
union all
select n+2, (n+1)*fact from d where n < 5)
select sum(fact) from d;

with recursive用法
sum(fact)=2+4+16=22

with recursive d(n, fact) as (
values (1,2)
union all
select n+2, (n+1)*fact from d where n < 5)
select sum(n) from d;

with recursive用法sum(n)=1+3+5=9

select * from company;

with recursive用法

with recursive t(n) as (
   values (10)
   union all
   select salary from company where salary < 20000
)
select  * from t;

with recursive用法

with recursive t(n) as (
   values (10)
   union all
   select salary from company where salary < 20000
)
select  sum(n) from t;

with recursive用法文章来源地址https://www.toymoban.com/news/detail-423429.html

到了这里,关于with recursive用法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 递归神经网络(Recursive Neural Networks)

    递归神经网络(Recursive Neural Networks)是一种特殊的神经网络,它们通过处理具有树形结构的数据来捕获数据的深层次关系,尤其是在自然语言处理和计算机视觉中的一些应用,如语法分析和场景理解。 1. 理解基本概念和背景 区别于循环神经网络 :首先,清楚递归神经网络(

    2024年04月13日
    浏览(35)
  • sql中with as用法/with-as 性能调优/with用法

    with as 语句是SQL中的一种常用语法, 它可以为一个查询结果或子查询结果创建一个临时表 ,并且可以在后续的查询中使用这个临时表,在查询结束后该临时表就被清除了。这种语法的使用可以使得复杂的查询变得简单,同时也可以提高查询效率。 WITH AS短语,也叫做子查询部

    2024年02月16日
    浏览(40)
  • 递归路由介绍 路由的递归查询到底是干什么的?

    路由的递归查询到底是干什么的? 路由的递归查询针对静态路由来讲,对于动态路由就没必要了。之所以要使用递归路由,目的是绕开那些经常变动的链路,可以使静态路由的配置工作量减小。 使用递归路由的一个条件:到达目标网络的链路在途中可以汇聚成比目标网络数量

    2024年02月06日
    浏览(48)
  • thinkphp模型递归查询

    2024年02月16日
    浏览(36)
  • MySQL递归查询所有子集

    在 MySQL 数据库中,WITH RECURSIVE 是递归查询的一种语法。然而,MySQL 并不支持 WITH RECURSIVE 语法。相反,MySQL 提供了另一种递归查询的方法,即使用 CONNECT BY 和 START WITH 语法。 如果您需要执行递归查询, 建议您使用 MySQL 版本 8.0 或更高版本 ,并使用 CONNECT BY 和 START WITH 语法。

    2024年02月10日
    浏览(36)
  • postgresql 的递归查询

    postgresql 的递归查询功能很强大,可以实现传统 sql 无法实现的事情。那递归查询的执行逻辑是什么呢?在递归查询中,我们一般会用到 union 或者 union all,他们两者之间的区别是什么呢? 递归查询的基本语法如下 其本身也是一个CTE,可以将复杂的查询逻辑进行分离,让整个

    2024年02月12日
    浏览(41)
  • SQL高级:递归查询

    如果在单表或两表中存储了 树形结构 数据,那么在查询这些数据时,就有可能要用到递归查询。 在实际的业务场景中, 树形结构 的数据很常见。比如组织架构、产品材料清单、产品大类和小类等等。 递归查询也是一个很有趣的知识点。我们来学习一下它。 为了学习这个知

    2024年02月03日
    浏览(53)
  • sql递归查询

    一、postgresql 递归sql   sql中with xxxx as () 是对一个查询子句做别名,同时数据库会对该子句生成临时表; with recursive 则是一个递归的查询子句,他会把查询出来的结果再次代入到查询子句中继续查询 p为自定义临时表名,最后一句select后跟的字段必须小于等于t1和t2中字段。 第

    2024年02月11日
    浏览(36)
  • 【Mysql】一篇学会SQL中的递归的用法

             SQL递归查询是一种用于处理具有层次结构的数据的技术。它使用递归函数来遍历树形结构,例如组织结构、分类结构等等。         递归查询通常使用 \\\" WITH RECURSIVE \\\"  语句实现。         WITH RECURSIVE 语句包含两部分:             a.递归部分: 定义了如

    2024年02月13日
    浏览(96)
  • javaScript 树形结构 递归查询方法。

    1. 函数递归定义          程序调用自身的编程技巧称为递归 ( recursion)。 2.使用条件   1.存在限制条件,当满足这个限制条件的时候,递归便不再继续。  2.每次递归调用之后越来越接近这个限制条件。  3.既然是自己调用自己,那么整个逻辑一定是很有规律,对应的传

    2024年02月14日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包