【发布时间】:2014-03-31 17:19:06
【问题描述】:
所以我相信在 SQL 中,如果我想临时创建一个新表并用于进行一些查询,我可以使用 CREATE VIEW 来创建一个没有物理数据但可用于查询的“虚拟表”,并且是总是更新。
VS
SQL WITH 子句也允许您为子查询块命名?
如果有人可以向我解释这些差异,将不胜感激,谢谢!
【问题讨论】:
-
你可以用
WITH做而你不能用其他对象(视图、表)做的事情是在一个语句中执行递归函数。即,如果您有一个像员工组织结构或其他东西一样递归引用自身的表,您可以编写一个递归 CTE,该 CTE 一直沿着链向下走。 technet.microsoft.com/en-us/library/ms186243(v=sql.105).aspx@Erwin 已经提出了这一点,但我认为值得强调。 -
如果您告诉我们您使用的是哪个 DBMS 也可能会有所帮助
标签: sql view common-table-expression temp-tables