我已经使用基本SQL几年了.但是,直到最近我才遇到"WITH"命令.根据我的研究,看起来"WITH"是一种创建临时表的方法.但根据我的经验,您还可以使用哈希"#"来创建临时表.
我试图搜索"WITH"和"#",但由于这些是奇怪的搜索词,我得不到多少结果.
有人会对每个人的利弊有什么不同吗?
小智 4
您可以用来WITH创建公共表表达式 (CTE)。从技术上讲,它不是临时表。
临时表与任何其他表一样,但它会tempdb在连接关闭时存储并删除。
但与临时表不同的是,CTE 实际上没有物理存储。它更像是一个“视图”。
这是一篇关于 CTE 到底是什么的精彩文章。与在连接中持续存在的临时表不同,CTE 是:
在单个 SELECT、INSERT、UPDATE、DELETE 或 CREATE VIEW 语句的执行范围内定义