MySQL 中的分層查詢
處理分層資料時,擷取給定節點的父母、祖父母和進一步祖先的能力變得至關重要的。本文深入探討如何在 MySQL 中使用遞迴查詢來完成此任務。
給定一個具有由a 和b 列表示的父子關係的表,我們可以使用以下查詢來查找特定的所有祖先節點,無論其深度如何:
此查詢以子查詢開頭,該子查詢將@id 變數設定為提供的節點(本例為5)。然後,外部查詢連接該變數上的表,有效地向上遍歷層次結構,直到不再有父級。 STRAIGHT_JOIN 語法確保查詢以自上而下的方式進行。
查詢的結果將是給定節點的祖先列表,首先列出根祖先:
透過理解這種方法,開發人員可以有效地導航MySQL 中的層次結構,使他們能夠對具有父子關係的資料執行複雜的查詢。這對於從家譜到組織層次結構的應用程式尤其有價值。
以上是如何使用遞歸查詢來擷取 MySQL 分層資料庫中節點的所有祖先?的詳細內容。更多資訊請關注PHP中文網其他相關文章!