常用表格表达式

官方文件: WITH 子句

公用表表达式是临时结果集,它可以是复杂子查询的结果。它是使用 WITH 子句定义的。CTE 提高了可读性,它是在内存而不是 TempDB 数据库中创建的,其中创建了 Temp Table 和 Table 变量。

公用表表达式的关键概念:

  • 可用于分解复杂查询,尤其是复杂的连接和子查询。
  • 是一种封装查询定义的方法。
  • 仅在下一个查询运行之前保留。
  • 正确使用可以改善代码质量/可维护性和速度。
  • 可用于在同一语句中多次引用结果表(消除 SQL 中的重复)。
  • 当不需要一般使用视图时,可以替代视图; 也就是说,你不必将定义存储在元数据中。
  • 将在调用时运行,而不是在定义时运行。如果在查询中多次使用 CTE,它将被多次运行(可能具有不同的结果)。