1. 请问sql中视图与查询的区别
一、主体不同
1、视图:计算机数据库中的视图,是一个虚拟表,其内容由查询定义。
2、查询:是一个独立的、功能强大的、具有计算功能和条件检索功能的数据库对象。
二、特点不同
1、视图:视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。
2、查询:用户通过设置某些查询条件,从表或其他查询中选取全部或者部分数据,以表的形式显示数据供用户浏览。
三、规则不同
1、视图:行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
2、查询:是操作的集合,不是记录的集合。查询的记录集实际上并不存在,每次使用查询时,都是从创建查询时所提供的数据源表或者查询中创建记录集。
2. SQL视图查询
视图可以被看成是虚拟表或存储查询。可通过视图访问的数据不作为独特的对象存储在数据库内。数据库内存储的是 SELECT 语句。SELECT 语句的结果集构成视图所返回的虚拟表。用户可以用引用表时所使用的方法,在 Transact-SQL 语句中通过引用视图名称来使用虚拟表 视图使用方案 视图通常用来集中、简化和自定义每个用户对数据库的不同认识。视图可用作安全机制,方法是允许用户通过视图访问数据,而不授予用户直接访问视图基础表的权限。从(或向)Microsoft® SQL Server™ 2000 复制数据时也可使用视图来提高性能并分区数据。 着重于特定数据 视图让用户能够着重于他们所感兴趣的特定数据和所负责的特定任务。不必要的数据可以不出现在视图中。这同时增强了数据的安全性,因为用户只能看到视图中所定义的数据,而不是基础表中的数据。有关出于安全考虑使用视图的更多信息,请参见使用视图作为安全机制。 简化数据操作 视图可以简化用户操作数据的方式。可将经常使用的联接、投影、联合查询和选择查询定义为视图,这样,用户每次对特定的数据执行进一步操作时,不必指定所有条件和限定。例如,一个用于报表目的,并执行子查询、外联接及聚合以从一组表中检索数据的复合查询,就可以创建为一个视图。视图简化了对数据的访问,因为每次生成报表时无须写或提交基础查询,而是查询视图。有关数据操作的更多信息,请参见查询基础知识。 还可以创建内嵌的用户定义函数,在逻辑上作为参数化视图运行,或作为在 WHERE 子句搜索条件中含有参数的视图运行。有关更多信息,请参见内嵌用户定义函数。 导出和导入数据 可使用视图将数据导出至其它应用程序。例如,可能希望使用 pubs 数据库中的 stores 和 sales 表在 Microsoft® Excel 中分析销售数据。为此,可创建一个基于 stores 和 sales 表的视图。然后使用 bcp 实用工具导出由视图定义的数据。也可使用 bcp 实用工具或 BULK INSERT 语句将数据从数据文件中导入某些视图,条件是可以使用 INSERT 语句在视图中插入行。有关向视图中复制数据的限制的更多信息,请参见 INSERT。有关使用 bcp 实用工具和 BULK INSERT 语句从(或向)视图中复制数据的更多信息,请参见向(或从)视图中复制数据。 组合分区数据 Transact-SQL UNION 集合运算符可在视图内使用,以将来自不同表的两个或多个查询结果组合成单一的结果集。这在用户看来是一个单独的表,称为分区视图。例如,如果一个表含有华盛顿的销售数据,另一个表含有加利福尼亚的销售数据,即可从 UNION 创建这两个表的视图。该视图代表了这两个区域的销售数据。 使用分区视图时,首先创建几个相同的表,指定一个约束以决定可在各个表中添加的数据范围。视图即使用这些基表创建。当查询该视图时,SQL Server 自动决定查询所影响的表,并仅引用这些表。例如,如果一个查询指定只需要华盛顿州的销售数据,则 SQL Server 只读取含有华盛顿销售数据的表,而并不访问其余的表。 分区试图可基于来自多个异类源——如远程服务器——的数据,而不仅仅局限于同一数据库中的表。例如,要将分别存储组织中不同区域数据的几台远程服务器上的数据组合起来,可以创建分布式查询,从每个数据源中检索数据,然后基于这些分布式查询创建视图。所有查询都只从包含查询所请求数据的远程服务器上读取表中的数据,其它在视图中由分布式查询引用的服务器均不被访问。 当在多个表或服务器上分割数据时,因为需扫描的数据较少,所以只访问一部分数据的查询运行得较快。如果表位于不同的服务器或一台多处理器的计算机上,同样可以对查询所涉及的表进行同时扫描,从而改进查询的性能。此外,象索引重建或表备份这样的维护任务可更快地执行。 通过使用分区视图,数据的外观象是一个单一表,且能以单一表的方式进行查询,而无须手动引用真正的基础表。 如果满足下列任一条件,则分区视图可被更新: 在带有逻辑的视图上定义支持 INSERT、UPDATE 和 DELETE 语句的 INSTEAD OF 触发器。 视图和 INSERT、UPDATE 及 DELETE 语句均遵从为可更新分区视图定义的规则。有关更多信息,请参见创建分区视图。
3. sql server 2000 中视图查询怎么用能筛选信息吗
做个例子:
--创建视图--create view emp_view as select empno,ename,job,sal,deptno from emp where deptno = 30;给予条件规定后
--进行查询--select * from emp_view;
4. Sql Server2005数据库怎么查看视图里的字段。
select * from 视图名,查看全部字段或者select 字段名 from 视图名,查看部分字段
5. sql server 视图怎么查询
您好:
首先通过查询语句创建视图
CREATEVIEW视图名
AS
SELECT字段
FROM表
WHERE条件
然后按照表查询的方法查询视图即可
SELECT字段
FROM视图名
6. SQL视图查询语句
视图查询语言为select语句,和查询表语句没有任何区别。
sql:select xisn, object_id, session_id, locked_mode from v$locked_object;
解释:以上语句就是查询出数据库中死锁视图下的相应信息语句,结构就是“select 字段 from 视图名称”;
备注:数据库中视图通常用“V$”进行命名(这个是命名规范,不是非得用)。
7. SQL视图中语句查询问题
你的SQL没有报错吗?
你把as后面的SQL拿出来单独执行试试。
from
A
a,A
b
where
b.Price
in
(select
b.Price
from
A
b
where
b."date"=a."date"-1
and
a.code=b.code)
表a根本不能与in后面的这个表进行联合查询。
直接改为:
from
A
a,A
b
where
b."date"=a."date"-1
and
a.code=b.code
8. 如何在Access中使用SQL视图查询
在SQLServer中,我们可以通过企业管理器或查询分析器执行SQL语句。Sql2005后更是方便,利用可以方便的执行任何SQL语句。 今天在做一个比较简单的项目,用到了ACCESS数据库,发现竟然没有自定义查询的窗口,点击设计视图中创建查询,也是弹出一个鼠标操作的查询栏,很不方便。难道在ACCESS中就没有自定义查询窗口了吗?其实还是有的,经过一番查找后,终于找到了。 步骤:打开Access文件,在"对象"窗格中选择"查询",再在右边窗格中双击"在设计视图中创建查询"。这时候会弹出一个显示表窗口,点击关闭按钮关闭该窗口,然后单击菜单栏中的"视图",单击"SQL视图",就会弹出类似于SqlServer中的查询分析器中可供输入SQL语句的窗口了。 重要:在这个视图窗口中,和所有Access查询一样,每次只能执行一条SQL语句。