Sql 视图分辨率定义
我目前正在准备考试,过去的一道试卷题是关于视图解析的。在有了谷歌之后,我只会让自己更加困惑它到底是什么 遗憾的是,我们的讲演幻灯片没有详细介绍这个主题。据我所知,视图定义与查询相结合。例如,您可以从正在定义的视图中选择一个视图,它将像普通查询一样运行 因此,redandlondon的定义如下:Sql 视图分辨率定义,sql,Sql,我目前正在准备考试,过去的一道试卷题是关于视图解析的。在有了谷歌之后,我只会让自己更加困惑它到底是什么 遗憾的是,我们的讲演幻灯片没有详细介绍这个主题。据我所知,视图定义与查询相结合。例如,您可以从正在定义的视图中选择一个视图,它将像普通查询一样运行 因此,redandlondon的定义如下: CREATE VIEW redandlondon (pno, pname, mass) AS SELECT pno, pname, weight * 2.2 FROM p WHERE city = 'Lo
CREATE VIEW redandlondon (pno, pname, mass)
AS SELECT pno, pname, weight * 2.2
FROM p
WHERE city = 'London';
以下两项将产生相同的输出
SELECT pname, mass
FROM redandlondon
ORDER BY pname;
SELECT pname, weight * 2.2
FROM p
WHERE city = ‘London’
ORDER BY pname;
如果我错了,任何帮助都将不胜感激,也许还有一个更简单的定义
感谢所有数据,其中city='London'为红色 表和视图都有定义,例如表的列或视图中的列。所有列都具有给定的数据类型 表包含分布在磁盘上存储的物理页上的给定列集合的行数据 视图的定义类似于表。但是,它们不保存行数据。在视图中找到的数据由从包含行数据的表中读取的基础查询填充
从视图中读取数据或将视图与现有查询关联时,SQL server将在视图中执行查询并将其关联到数据集。当它这样做时,将是视图分辨率。结果如何相同?在一种情况下,您有一个额外的约束(颜色=‘红色’),而不是另一种情况下的视图。@OldProgrammer啊,是的,对此很抱歉。是要把那一点去掉的。抱歉给你带来困惑。嗨@Amireza Keshavarz。谢谢你的回答!。忽略颜色=‘红色’位,我已经编辑掉了(很抱歉)。我对视图分辨率的理解正确吗?