色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql中查詢樹除去子級

江奕云1年前8瀏覽0評論

在MySQL中查詢樹除去子級是一個常見的問題。通常,這可以通過使用遞歸查詢或者聯結查詢來實現。

下面是使用遞歸查詢實現查詢樹除去子級的示例代碼:

WITH RECURSIVE cte AS (
SELECT id, parent_id, name
FROM category
WHERE parent_id IS NULL
UNION ALL
SELECT c.id, c.parent_id, c.name
FROM category c
INNER JOIN cte ON c.parent_id = cte.id
)
SELECT id, parent_id, name
FROM cte
WHERE id NOT IN (
SELECT DISTINCT parent_id
FROM category
WHERE parent_id IS NOT NULL
)
ORDER BY id;

上述代碼通過遞歸查詢獲取所有根節點和它們的子節點,并在最后的篩選中排除了所有子節點。

下面是使用聯結查詢實現查詢樹除去子級的示例代碼:

SELECT t1.id, t1.parent_id, t1.name
FROM category t1
LEFT JOIN category t2 ON t1.id = t2.parent_id
WHERE t2.parent_id IS NULL
ORDER BY t1.id;

上述代碼通過聯結查詢獲取所有根節點,然后通過WHERE子句排除了所有子節點,并按照id排序。

以上是兩種在MySQL中查詢樹除去子級的方法,可以根據實際情況選擇合適的方法進行使用。