MYSQL WITH recursive使用
- MYSQL WITH recursive使用
- 语法
- 用法1:输出1~n或者求 1~n的和
- 用法2 父求子
- 创建table:user
- 求张三后代
MYSQL WITH recursive使用
由于在项目中有使用到recursive,因此在此做记录
语法
WITH recursive 表名 AS ( 初始语句(非递归部分) UNION ALL 递归部分语句
)
[ SELECT| INSERT | UPDATE | DELETE]
用法1:输出1~n或者求 1~n的和
WITH recursive t AS(SELECT 1 AS nUNION ALLSELECT n+1 FROM t WHERE n<10
)
SELECT * FROM t
SELECT SUM(n) FROM t;
用法2 父求子
创建table:user
求张三后代
WITH recursive temp AS(SELECT * FROM USER WHERE NAME='张三'UNION ALLSELECT u.* FROM USER u,temp t WHERE u.pid=t.id
)
SELECT * FROM temp;