如上圖左邊的樹結構,對映在資料庫裡的結構見右圖表格,注意整個表格是一個排好序的樹結構的前序遍歷序列,相同節點深度的排序以line為準。 表格的最後一行(或每個根節點)必須有一個END標記,level設為0,上表中的ID為主鍵,Level為樹節點的深度。在以上基礎上,只要一句SQL,就可以無遞迴查詢出任意節點的所有子樹節點, 比某些資料自帶的基於遞迴原理的查詢更高效。 假設節點的行號為X,level為Y,則查詢整個子樹的SQL為: select * from tb where line>=X and line<(select min(line) from tb where line>X and level<=Y) 例如獲取D節點及其所有子節點: select * from tb where line>=7 and line< (select min(line) from tb where line>7 and level<=2)