使用临时表可以使用约束和索引。您还可以在临时表上创建游标,其中CTE在查询结束后终止(强调单个查询)。我将通过具体的用例回答,并介绍我有经验的应用程序,以便帮助证明我的观点。我使用过的示例企业应用程序中的常见用例如下:临时表通常,我们使用临时表来在需要多个查询时间之前转换数据以进行INSERT或UPDATE适当表中的数据。从多个表中收集类似的数据以操纵和处理数据。有不同类型的订单(order_type1,order_type2,order_type3),所有这些都在不同的TABLE上,但具有相似的COLUMN。我们有一个存储过程将所有这些表联接成一个#orders临时表,根据现有订单“更新”人的建议订单。公共表达式CTE非常适合阅读性,特别是处理单个查询时。在创建需要使用PIVOT、Aggregates等分析的报告时,如果代码行数很多,CTE可以通过将查询分成逻辑部分来提高可读性。有时两者结合使用。当需要多个查询时,将某些查询拆分为CTE仍然非常有用。希望这对您有所用处,谢谢!