MySQL 8.0 公用表表达式(CTE)
从版本8.0开始,MySQL简单地引入了公用表表达式功能或CTE。
用于单词定义多次引用使用。
语法如下所示,其中需要注意的是
1. **定义后,必须下方接着使用,不然语法错误。**
2. 同一个语句可以定义多个CTE
with 别名 as (SQL语句),
with 别名2 as (SQL语句)
SELECT/DELETE/UPDATE/INSERT子句
例子:
with cte as (select *
from t_window_func)
select dept, count(*)
from cte
where salary not in (select salary from cte where salary < 13000)
group by dept;
以上语句的外层`from cte`和内层`not in`中多次引用了`cte`这个”公用表“