国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

[置頂] 數(shù)據(jù)庫(kù)庫(kù)設(shè)計(jì):樹(shù)結(jié)構(gòu)的數(shù)據(jù)讀取

2024-07-21 02:51:33
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

樹(shù)形結(jié)構(gòu)在實(shí)際中應(yīng)用很多,但在數(shù)據(jù)庫(kù)中一般也是設(shè)計(jì)為表格,如何讀取,子孫節(jié)點(diǎn),或者是祖先節(jié)點(diǎn)?

在Oracle中使用start with connect by PRior 

select * from tablename start with cond1

connect by cond2

where cond3;

start with 子句:遍歷起始條件,有個(gè)小技巧,如果要查父結(jié)點(diǎn),這里可以用子結(jié)點(diǎn)的列,反之亦然。

connect by 子句:連接條件。關(guān)鍵詞prior,prior跟父節(jié)點(diǎn)列parentid放在一起,就是往父結(jié)點(diǎn)方向遍歷;prior跟子結(jié)點(diǎn)列subid放在一起,則往葉子結(jié)點(diǎn)方向遍歷,

                         parentid、subid兩列誰(shuí)放在“=”前都無(wú)所謂,關(guān)鍵是prior跟誰(shuí)在一起。

查找指定節(jié)點(diǎn)的所有祖先節(jié)點(diǎn)

select * from tablename start with id=76 connect by prior parentid=id查找指定節(jié)點(diǎn)的所有子孫節(jié)點(diǎn)
select * from tablename start with id=76 connect by prior id=parentid在SQL Server 中使用CTE遞歸查詢

CTE的語(yǔ)法:   WITH CTE名稱(字段列表)   AS   (     查詢語(yǔ)句   ) 例如: WITH lmenu(name,senior) as (     SELECT name,senior from menu )

查找指定節(jié)點(diǎn)的所有子孫節(jié)點(diǎn)

WITH lmenu(name,id) as ( /*初始查詢*/    SELECT name,id FROM tablename WHERE id=76    UNION ALL	 /*遞歸*/    SELECT A.NAME,A.id FROM tablename A,lmenu b	 /*遞歸條件*/    where a.id = b.parentid) /*遞歸完成后返回?cái)?shù)據(jù)*/SELECT *  from lmenu


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 文昌市| 南汇区| 台前县| 新田县| 芦溪县| 江北区| 靖边县| 冕宁县| 太原市| 华池县| 丹江口市| 鄂伦春自治旗| 长宁县| 秦安县| 成武县| 阿拉善盟| 浮梁县| 彰化县| 高要市| 新田县| 广灵县| 张掖市| 兰考县| 温宿县| 武陟县| 尼勒克县| 乌兰浩特市| 翁源县| 和田县| 巢湖市| 宜宾县| 和硕县| 朝阳县| 临桂县| 山阳县| 弥勒县| 乌兰浩特市| 宜宾市| 石河子市| 郸城县| 池州市|