常用表格表达式
官方文件: WITH 子句
公用表表达式是临时结果集,它可以是复杂子查询的结果。它是使用 WITH 子句定义的。CTE 提高了可读性,它是在内存而不是 TempDB 数据库中创建的,其中创建了 Temp Table 和 Table 变量。
公用表表达式的关键概念:
- 可用于分解复杂查询,尤其是复杂的连接和子查询。
- 是一种封装查询定义的方法。
- 仅在下一个查询运行之前保留。
- 正确使用可以改善代码质量/可维护性和速度。
- 可用于在同一语句中多次引用结果表(消除 SQL 中的重复)。
- 当不需要一般使用视图时,可以替代视图; 也就是说,你不必将定义存储在元数据中。
- 将在调用时运行,而不是在定义时运行。如果在查询中多次使用 CTE,它将被多次运行(可能具有不同的结果)。