sql-server - 多表join - 左连接查询和右连接查询的区别




SQL Server表:@,#和##有什么区别? (4)

在SQL Server中,@ table,#表和##表有什么区别?



#table指的是一个本地(仅对创建它的用户可见)临时表。

##table指向全局(对所有用户都可见)临时表。

@variableName指的是一个变量,它可以根据类型保存值。

干杯


我将重点讨论#table和@table之间的差异。 ## table是一个全局临时表,对于超过10年使用SQL Server的记录,我还没有遇到有效的用例。 我敢肯定,一些存在,但对象的性质使其非常不可用恕我直言。

@marc_s对@whiner的回应是绝对正确的:表变量总是存在于内存中是一种流行的神话。 实际上,表变量通常用于转到磁盘并像临时表一样操作。

无论如何,我建议按照@Astander指出的链接阅读一组差异。 大多数差异都会限制您无法对@table变量进行的操作。






sql-server