SQL语句遍历树结构的数据表
生活随笔
收集整理的這篇文章主要介紹了
SQL语句遍历树结构的数据表
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
[轉自]:肆尾蔥的博客《SQL語句遍歷樹結構的數據表》
一、創建樹結構的數據庫表
-- 數據庫為 SQL Server create table treeTest(id int,parentId int,info varchar(10) )-- 插入數據 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 語句,詳細介紹參考:
SQL中使用WITH AS提高性能-使用公用表表達式(CTE)簡化嵌套SQL
返回結果:
三、Oracle 特有的樹遍歷方法
-- 從id=5的節點開始,向下遍歷所有子孫節點 -- prior 關鍵字可放在 treeTest.id 或 treeTest.parentId 的前面,決定遍歷的方向 select * from treeTest start with treeTest.id=5 connect by prior treeTest.id = treeTest.parentId總結
以上是生活随笔為你收集整理的SQL语句遍历树结构的数据表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 飞荣达是做什么产品 产品应用于消费电子、
- 下一篇: Java中List高效去重