视图和使用 SELECT INTO 创建的表之间的主要区别?

Key Differences Between Views and Created Tables Using SELECT INTO?

我了解视图只是保存的 SQL 查询,可以将其视为虚拟 table。但是,在我看来,使用 SELECT INTO 语句创建新的 table 与创建视图之间并没有太大区别。这两种方法之间的主要区别是什么?在什么情况下你会使用其中一种?

首先让我们认识到,根据您所说的视图,您并不是在谈论索引视图。因为这些实际上是在后台使用现有的 table 实现的。所以,我们谈论的是非索引视图。

这两种方法非常不同 - 事实上,它们没有任何共同点。这很奇怪,因为你们都提到:

  • "view = only saved sql query"
  • "into = creating new table"

这不是自相矛盾吗? select into的结果实际上是一个table,一个视图不是

不确定您为什么要问这个问题或您想要完成什么。根据我的经验,我使用 select into 快速创建 logically 临时 tables,它们具有与原始列相同的列,而无需键入所有列。这种创建 tables 的方法通常不如 create table 命令和随后的插入,因为不能创建索引和其他内容 - 因此它用于即席查询或作为临时实体。