mysql如何查询所有上级

avatar
作者
筋斗云
阅读量:0

要查询所有上级,可以使用递归查询的方法来实现。以下是一个示例查询语句,假设有一个名为employee的表,其中包含员工的ID和上级ID:

WITH RECURSIVE cte AS (     SELECT id, parent_id     FROM employee     WHERE id = <employee_id>  -- 指定要查询的员工ID          UNION ALL          SELECT e.id, e.parent_id     FROM employee e     JOIN cte ON e.id = cte.parent_id )  SELECT * FROM cte; 

在上面的查询语句中,首先使用WITH RECURSIVE关键字创建了一个递归公共表表达式(CTE),其中包含了指定员工及其所有上级的ID。然后使用UNION ALL将当前查询结果与employee表再次连接,直到找到所有上级为止。最后,通过SELECT * FROM cte语句将所有上级查询出来。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!