一、CTE和WITH
CTE是一种命名的临时结果集,CTE是通过WITH
子句来定义的.
sql
WITH cte_name (column1, column2, ...) AS (
-- CTE查询定义
SELECT ...
)
-- 主查询
SELECT ...
FROM cte_name
WHERE ...
column1, column2, ...
是可选的列名列表,通常用于给CTE的列命名。- 优点:可读性,模块化,递归查询[重点是可以自己调用自己](SQL中的递归查询-CSDN博客)