mysql在8+版本支持递归语句,用之前一定要确定好数据库版本
语句解释:test是你要查询的表名,cte可以理解为是一张虚拟的父表,本质上还是test,
你可以不用管他,只需要把对应你要查询的字段替换掉,把关联字段改了就哦了,so easy!
语法:
WITH RECURSIVE cte (id,pid,`value`) AS ( SELECT id,pid,`value` from test a where a.id = 1 UNION ALL SELECT b.id,b.pid,b.`value` from cte c inner join test b on b.pid = c.id ) select * from cte e;
*、RECURSIVE: 关键字,递归。