下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當前位置:軟件下載吧 > 技術開發 > 數據庫 > PostgreSQL圖(graph)的遞歸查詢實例

PostgreSQL圖(graph)的遞歸查詢實例

時間:2024-03-13 13:57作者:下載吧人氣:28

背景

在樹形遞歸查詢這篇文章,我記錄了使用CTE語法查詢樹形結構的辦法。在一個樹形結構中,每一個節點最多有一個上級,可以有任意個數的下級。

在實際場景中,我們還會遇到對圖(graph)的查詢,圖和樹的最大區別是,圖的節點可以有任意個數的上級和下級。如下圖所示

PostgreSQL圖(graph)的遞歸查詢實例

因為圖可能存在loop結構(上圖紅色箭頭),所以在使用CTE遞歸的過程中,必須要破環(break loop),否則算法就會進入無限遞歸,永不結束。

存儲和查詢圖結構,目前當紅數據庫是neo4j,但是當數據量只有十幾萬條的時候,PostgreSQL完全可以勝任。

構造樣本數據

— 每一條有向關系邊都存在上游,下游兩個節點
drop table if exists demo.t_rel;
create table if not exists demo.t_rel(up int , down int);

— 唯一約束,避免插入相同的關系
alter table demo.t_rel add constraint udx_t_rel unique (up, down);

insert into demo.t_rel values(6,5),(3,7),(5,1),(1,2),(5,2),(5,7),(7,2),(2,4),(7,4);

— 構造一條環數據,7-2-4-7
delete from demo.t_rel where up=4 and down=7;
insert into demo.t_rel values(4,7);

標簽[db:關鍵字]
查看所有評論+

網友評論

網友
您的評論需要經過審核才能顯示

熱門閱覽

最新排行

公眾號

盖楼回复X

(您的评论需要经过审核才能显示)

主站蜘蛛池模板: 婷婷六月久久综合丁香76| 国产色视频免费| 中文无码一区二区不卡αv| 欧美人与动欧交视频| 免费人成视频在线观看视频| 草莓污视频在线观看午夜社区| 国产福利一区二区三区在线观看| 99热99re| 巨大一下一寸挤进校花| 久久亚洲春色中文字幕久久久| 欧美三级纯黄版| 国产成人精品免费视频大全| 99re在线精品视频免费| 少妇人妻在线视频| 久久97久久97精品免视看| 法国性XXXXX极品| 全部免费a级毛片| 自拍偷在线精品自拍偷| 国内一级纶理片免费| 久久97久久97精品免视看| 日韩精品久久无码中文字幕| 亚洲国产综合精品中文字幕| 波多野结衣视频网| 免费一级毛片在级播放| 麻豆精品久久久久久久99蜜桃 | 伊人中文字幕在线观看| 综合激情网五月| 国产不卡在线看| 高清无码一区二区在线观看吞精| 国产粗话肉麻对白在线播放 | 久久精品桃花综合| 欧美xxxxx做受vr| 亚洲国产超清无码专区| 毛片永久新网址首页| 你懂的国产精品| 精品久久久久久久中文字幕| 又粗又硬又大又爽免费观看| 自虐不死重口痴女系小说| 国产三级香港三韩国三级| 韩国三级中文字幕hd久久精品| 国产色视频一区二区三区QQ号 |