SQL语句遍历树结构的数据表
生活随笔
收集整理的這篇文章主要介紹了
SQL语句遍历树结构的数据表
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
[轉(zhuǎn)自]:肆尾蔥的博客《SQL語句遍歷樹結(jié)構(gòu)的數(shù)據(jù)表》
一、創(chuàng)建樹結(jié)構(gòu)的數(shù)據(jù)庫(kù)表
-- 數(shù)據(jù)庫(kù)為 SQL Server create table treeTest(id int,parentId int,info varchar(10) )-- 插入數(shù)據(jù) insert into treeTest(id,parentId,info) values(1,null,'root'); insert into treeTest(id,parentId,info) values(2,1,'two'); insert into treeTest(id,parentId,info) values(3,1,'three'); insert into treeTest(id,parentId,info) values(7,2,'seven'); insert into treeTest(id,parentId,info) values(8,2,'eight'); insert into treeTest(id,parentId,info) values(9,2,'nine'); insert into treeTest(id,parentId,info) values(4,3,'four'); insert into treeTest(id,parentId,info) values(5,3,'five'); insert into treeTest(id,parentId,info) values(6,3,'six'); insert into treeTest(id,parentId,info) values(14,7,'fourteen'); insert into treeTest(id,parentId,info) values(15,7,'fifteen'); insert into treeTest(id,parentId,info) values(16,8,'sixteen'); insert into treeTest(id,parentId,info) values(17,9,'seventeen'); insert into treeTest(id,parentId,info) values(10,4,'ten'); insert into treeTest(id,parentId,info) values(11,5,'eleven'); insert into treeTest(id,parentId,info) values(12,5,'twelve'); insert into treeTest(id,parentId,info) values(13,6,'thirteen');二、通用的 SQL 遍歷方法
在 SQL 語句中使用 with as 語句,詳細(xì)介紹參考:
SQL中使用WITH AS提高性能-使用公用表表達(dá)式(CTE)簡(jiǎn)化嵌套SQL
返回結(jié)果:
三、Oracle 特有的樹遍歷方法
-- 從id=5的節(jié)點(diǎn)開始,向下遍歷所有子孫節(jié)點(diǎn) -- prior 關(guān)鍵字可放在 treeTest.id 或 treeTest.parentId 的前面,決定遍歷的方向 select * from treeTest start with treeTest.id=5 connect by prior treeTest.id = treeTest.parentId總結(jié)
以上是生活随笔為你收集整理的SQL语句遍历树结构的数据表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 飞荣达是做什么产品 产品应用于消费电子、
- 下一篇: Java中List高效去重