【问题标题】:How to use VIEWS in SQL Queries如何在 SQL 查询中使用视图
【发布时间】:2014-07-16 14:20:30
【问题描述】:

我们有安装 SQL 数据库的第三方软件,因此我们可以创建自定义查询。

它们还具有包含值的视图,例如表没有的 VIRUSNAME。

到目前为止,我找到了有关如何创建视图的教程,但我在哪里可以找到有关如何在 SQL 查询中使用视图的教程?

【问题讨论】:

  • Select * From dbo.V_VIRUS ?
  • 完全像桌子一样使用它们?我不明白你的问题。
  • 您不必对视图做任何特殊处理。只是把它们当作一张桌子。在某些情况下,但绝对不是所有情况下,您甚至可以 update 一个视图,但通常您只需 select * from someview where ... 就像使用任何其他“正常”表一样。
  • 我找到的一个教程:tutorialspoint.com/sql/sql-using-views.htm

标签: sql-server view


【解决方案1】:

首先,看看这篇有趣的帖子What are views good for?

SQL 创建视图语法

CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition

调用视图

SELECT * FROM [Name of your VIEW]

最后,我可以给你这个基本链接Introduction to Sql Server Views

【讨论】:

  • 我试过这个,但我没有尝试在 VIEW 周围放置括号
  • @Glowie 你是说方括号解决了你的问题吗?因为它们是可选的?!
  • @Tanner 我第一次尝试不带括号它不起作用。但是现在我在阅读了您的评论后尝试了它并且它起作用了。也许我在 MS SQL Server 中做了其他事情,因为我为此苦恼了一段时间
  • 所以问题是你的语法有错字?
【解决方案2】:

您可能想查看来自 TutorialsPoint 的 a tutorial

包含您需要了解的有关视图的大部分内容。

还有一些:

From code project: How to create,update,delete a view

From w3 schools:How to create,update,delete a view(with great examples)

From microsoft technet:Scenarios for Using Views

使用视图

视图通常用于集中、简化和自定义 每个用户对数据库的感知。视图可用于 安全目的,因为它们提供了名称的封装 桌子。数据在虚拟表中,而不是永久存储。意见 仅显示选定的数据。

创建视图的语法如下:

Create View Viewname As
 Select Column1, Column2  From Tablename   Where (Condition) Group by (Grouping Condition) having (having Condition) For example:

 Create View View_Employeeinfo As s
    Select EmpId, EmpName, employmentdate  From EmployeeInfo 

现在用户可以使用视图 View_EmployeeInfo 作为表来获取 员工的empid、empname和employmentdate信息 使用以下查询:

 Select  *   from  View_EmployeeInfo  where empid=3 

其他用途:

  1. 视图让用户专注于他们感兴趣的特定数据以及他们负责的特定任务。不必要的或 敏感数据可以被排除在视图之外。

  2. 视图可以简化用户处理数据的方式。您可以定义常用的连接、投影、UNION 查询和 SELECT 查询 作为视图,以便用户不必指定所有条件和 每次对其执行附加操作时的资格 数据。

  3. 视图使您能够在表的架构发生变化时为其创建向后兼容的接口。

  4. 视图让不同的用户以不同的方式查看数据,即使他们同时使用相同的数据。

  5. 视图可用于将数据导出到其他应用程序。

  6. Transact-SQL UNION 集合运算符可用于视图中,将来自不同表的两个或多个查询的结果组合成一个 单个结果集。这在用户看来是一个单一的表,即 称为分区视图。

【讨论】:

  • 链接只回答 x4。如果您要发布链接,请从链接中提供一些有助于实际回答问题的关键信息,因为链接可能会更改或失效。
  • 好吧,小事,如果你引用文本,你应该使用 Blockquotes 格式化工具将文本突出显示为引用,或者声明它来自链接。
【解决方案3】:

好吧,您可以使用视图来获取数据,就像从表中获取数据一样。

http://www.java2s.com/Tutorial/Oracle/0160__View/Performselectoncolumnsinaview.htm

希望这是你想要的!

【讨论】:

  • 仅链接答案。如果您要发布链接,请从链接中提供一些有助于实际回答问题的关键信息,因为链接可能会更改或失效。
  • 另外,此链接适用于 Oracle,问题在 SQL Server 上
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-08
  • 1970-01-01
  • 1970-01-01
  • 2013-03-02
  • 1970-01-01
相关资源
最近更新 更多