当前位置: 首页 > wzjs >正文

建设网站虚拟现实技术相城seo网站优化软件

建设网站虚拟现实技术,相城seo网站优化软件,沈阳微信网站建设,asp.net 跳转别的网站postgresql数据库实现表的树结构查询: 示例数据库表:data_base_basin流域树树结构表SQl语句实现树结构 重点函数:WITH RECURSIVE BasinTree AS 。。。 在 PostgreSQL 中,WITH RECURSIVE 是用于实现 递归查询 的功能。它允许你在一…

postgresql数据库实现表的树结构查询:

示例数据库表:data_base_basin流域树树结构表

在这里插入图片描述

SQl语句实现树结构

重点函数:WITH RECURSIVE BasinTree AS 。。。
在 PostgreSQL 中,WITH RECURSIVE 是用于实现 递归查询 的功能。它允许你在一个 SQL 查询中反复执行某个子查询,直到满足特定的结束条件。这非常适合处理具有层级结构的数据(如树形结构、图结构)。

什么是 WITH RECURSIVE?
WITH RECURSIVE 是 PostgreSQL 提供的一种 公用表表达式(CTE, Common Table Expression),支持递归操作。

递归 CTE 的基本结构:

WITH RECURSIVE cte_name AS (-- 初始查询(非递归部分)SELECT ...UNION ALL-- 递归查询部分SELECT ...FROM cte_nameWHERE ...
)
SELECT * FROM cte_name;

初始查询:定义递归的起点;
递归查询:引用自身(cte_name),逐步向下查找;
UNION ALL:连接初始结果和递归结果;
终止条件:当递归查询不再返回新行时自动终止。

示例0:表树结构查询:

        WITH RECURSIVE BasinTree AS (SELECT DISTINCTbasin_code,basin_name,parent_code,level,order_numFROM data_base_basinWHERE dept_id = #{deptId}and basin_code in<foreach item="basinCode" index="index" collection="basinCodes" open="(" separator="," close=")">#{basinCode, jdbcType=VARCHAR}</foreach>UNION ALLSELECT DISTINCTb.basin_code,b.basin_name,b.parent_code,b.level,b.order_numFROM data_base_basin bINNER JOIN BasinTree t ON b.basin_code = t.parent_code)SELECT DISTINCTbasin_code as basinCode,basin_name as bscName,parent_code as parentCode,level,order_numFROM BasinTreeORDER BY level asc, order_num asc

示例1:生成数字序列(简单演示)

WITH RECURSIVE numbers AS (SELECT 1 AS nUNION ALLSELECT n + 1 FROM numbers WHERE n < 5
)
SELECT * FROM numbers;

输出:

n
---
1
2
3
4
5

示例 2:查询组织架构中的员工上下级关系(树形结构)

CREATE TABLE employee (id INT PRIMARY KEY,name TEXT,manager_id INT
);

在这里插入图片描述
现在想查出 所有属于 Alice(id=1) 管理链下的员工,包括间接下属。

WITH RECURSIVE subordinates AS (-- 初始查询:找出 Alice 的直接下属SELECT id, name, manager_idFROM employeeWHERE manager_id = 1UNION ALL-- 递归查询:继续找下属的下属SELECT e.id, e.name, e.manager_idFROM employee eINNER JOIN subordinates s ON e.manager_id = s.id
)
-- 最终查询:合并所有结果
SELECT * FROM subordinates;

输出:

id | name   | manager_id
---|--------|-----------
2  | Bob    | 1
3  | Carol  | 2
4  | David  | 2

示例 3:查询路径或层级信息(带深度)

你可以添加一个字段来记录层级深度:

WITH RECURSIVE subordinates AS (-- 初始查询SELECT id, name, manager_id, 1 AS levelFROM employeeWHERE manager_id = 1UNION ALL-- 递归查询SELECT e.id, e.name, e.manager_id, s.level + 1FROM employee eINNER JOIN subordinates s ON e.manager_id = s.id
)
SELECT * FROM subordinates;

输出:

id | name   | manager_id | level
---|--------|------------|-------
2  | Bob    | 1          | 1
3  | Carol  | 2          | 2
4  | David  | 2          | 2

注意事项

必须有终止条件
否则会无限递归,最终触发最大递归限制(默认 100 层)

性能问题
如果递归层级很深或数据量大,可能会导致性能下降

避免循环引用
如果父子关系出现环(比如 A → B → A),会导致无限递归并报错

可以加限制
使用 LIMIT 控制最大层级(例如 WHERE level <= 5)


文章转载自:

http://kguhHWBR.bnhyd.cn
http://ZrbSqRFx.bnhyd.cn
http://2G5cVSoj.bnhyd.cn
http://ewOvK8yS.bnhyd.cn
http://O079cq1G.bnhyd.cn
http://F0jESMH3.bnhyd.cn
http://wBqXoT8x.bnhyd.cn
http://X1nPYVDB.bnhyd.cn
http://YXs1dLYv.bnhyd.cn
http://OwBiROka.bnhyd.cn
http://ak3PmhvL.bnhyd.cn
http://wwl2aJzK.bnhyd.cn
http://mpt35CUq.bnhyd.cn
http://HuyzgPDR.bnhyd.cn
http://soAiIn8t.bnhyd.cn
http://Fxrx9UMW.bnhyd.cn
http://MZqM6o7d.bnhyd.cn
http://ZlO1O0qX.bnhyd.cn
http://3yWouH3b.bnhyd.cn
http://Pzx9wKzW.bnhyd.cn
http://66sjGijR.bnhyd.cn
http://ozap7Jps.bnhyd.cn
http://OB7B2ZAq.bnhyd.cn
http://13o2zTCw.bnhyd.cn
http://DbwxyZ8P.bnhyd.cn
http://d6kd61t4.bnhyd.cn
http://lL4rBtJc.bnhyd.cn
http://bZmrfbJM.bnhyd.cn
http://sPzqv1Jt.bnhyd.cn
http://QKaZRUnK.bnhyd.cn
http://www.dtcms.com/wzjs/745406.html

相关文章:

  • 漯河企业网站建设新类型的网站
  • 先买域名不建设网站吗专业集团网站建设
  • 免费视频网站app使用排名浙江壹设软装设计有限公司
  • 中国十大文旅策划公司南通网站排名优化
  • 滨州淄博网站建设网站地图好处
  • 长春移动端网站设计网页设计与制作建立站点实践报告
  • 河南企业网站备案easyui做门户网站
  • 北京网站怎么建设做公司网站哪家 上海
  • 无锡建站方案在哪些网站做推广比较好
  • 滁州网站建设联系方式c 网站建设大作业代码
  • 做纺织机械的网站域名预付网站建设服务费如何入账
  • ui的含义网站建设wordpress前台显示作者角色
  • 做服装设计有什么网站可以参考苏州建设职业培训中心官网
  • 企业网站新模式东莞企业网站设计公司
  • 必要 网站专业建设网站的公司
  • 上海 企业网站制网站title标签内容怎么设置
  • 免费的个人网站注册给客户做网站图片侵权
  • 汇编做网站iis wordpress 500
  • 美业网站建设网络广告代理
  • 高端医疗网站模板免费下载wordpress正文美化
  • 学校网站英文企业电子商务网站建设的最终目的
  • 南通中小企业网站制作个人小公司怎么注册
  • 运营企业网站江苏省建筑工程网
  • 建工网查询深圳seo网站
  • 站长友情链接网站推广优化方案模板
  • 网站备案贵州电话保定网站排名优化
  • 网站建设基础实训报告网站排名优化查询
  • 图片展示型网站五棵松网站建设
  • 用php做商城网站的设计论文网页小游戏无需登录
  • 利川网站建设如何评估网站