MySQL8.0新特性-通用表表达式(CTE)
通用表表达式与派生表类似。
CTE可以多次引用,并且可以引用其它CTE,可以递归。
CTE支持SIUD等语句。
1、非递归的CTE
通过一个简单的实例来了解一下:
1  | select * from (select 1) as cte1;  | 
2、递归CTE
通过一个简单的实例来了解一下:
1  | with recursive cte(n) as  | 
如图所示:

实例演示:
1  | -- 初始化  | 
限制参数
cte_max_recursion_depth递归深度max_execution_time最大执行时间
1  | -- 一个死循环的sql  | 
简单的测试:实现斐波那契
1  | with recursive cte(n,m) as  | 
是不是感觉很简单,我第一次写这个的时候用了1分钟,大家呢?
推荐
MySQL8.0创建用户及其配置
MySQL8.0新特性-新的索引方式
MySQL8.0新特性-通用表表达式(CTE)
MySQL8.0新特性-窗口函数
MySQL8.0新特性-InnoDB增强
MySQL8.0新特性-JSON增强
官方介绍