惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
L
LangChain Blog
Y
Y Combinator Blog
Microsoft Security Blog
Microsoft Security Blog
宝玉的分享
宝玉的分享
B
Blog RSS Feed
MongoDB | Blog
MongoDB | Blog
Jina AI
Jina AI
D
Docker
B
Blog
Engineering at Meta
Engineering at Meta
Last Week in AI
Last Week in AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
I
InfoQ
G
Google Developers Blog
博客园 - Franky
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The GitHub Blog
The GitHub Blog
T
The Blog of Author Tim Ferriss
大猫的无限游戏
大猫的无限游戏
阮一峰的网络日志
阮一峰的网络日志
U
Unit 42

博客园 - replace

CSS常用滤镜 关于Adodb.Stream 的使用说明 - replace - 博客园 Dom操作xml的常用方法 - replace - 博客园 DOM精简知识教程 在b/s开发中经常用到的javaScript技术 XML学习笔记-XML的基本语法 100%背景图片 - replace - 博客园 简单易变的CSS阴影效果 - replace - 博客园 HTML元素的默认CSS设置 CSS语法技巧 CSS+JS制作可折叠内容块 - replace - 博客园 CSS兼容要点 Ajax程序设计入门 如何使用Ajax技术开发Web应用程序(2) 如何使用Ajax技术开发Web应用程序(1) _blank开新窗口不符合标准? SQL 快速参考 SQL Servers - RDBMS SQL指南-SELECT INTO语句 SQL指南-GROUP BY 和 HAVING
SQL指南- CREATE VIEW 语句
replace · 2006-04-10 · via 博客园 - replace

A view is a virtual table based on the result-set of a SELECT statement.


什么是视图?

在SQL里,视图是一个基于SELECT查询的result-set的虚拟数据表。

视图包含列和行,就象是一个真正的表格。视图里的字段来自于数据库里一个或者多个真正的表。你可以给视图添加SQL函数,WHERE和JOIN语句,如同来自于一个表格般地呈现数据。

注意: 视图内的函数,WHERE或JOIN将不会影响数据库设计和结构。

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

注意: 数据库并不存储视图数据!数据引擎得以休息,使用视图查询语句,用户每次查询的只是视图。


使用视图

A view could be used from inside a query, a stored procedure, or from inside another view. By adding functions, joins, etc., to a view, it allows you to present exactly the data you want to the user.

The sample database Northwind has some views installed by default. The view "Current Product List" lists all active products (products that are not discontinued) from the Products table. The view is created with the following SQL:

CREATE VIEW [Current Product List] AS
            SELECT ProductID,ProductName
            FROM Products
            WHERE Discontinued=No

随后我们可以查询上面的视图

SELECT * FROM [Current Product List]

Another view from the Northwind sample database selects every product in the Products table that has a unit price that is higher than the average unit price:

CREATE VIEW [Products Above Average Price] AS
            SELECT ProductName,UnitPrice
            FROM Products
            WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products)

随后我们可以查询上面的视图

SELECT * FROM [Products Above Average Price]

另一个示例视图来自于Northwind 数据库计算1977年每个种类的销售合计。注意这个视图查询它的数据来自于另一个称作 "Product Sales for 1997"的视图。

CREATE VIEW [Category Sales For 1997] AS
            SELECT DISTINCT CategoryName,Sum(ProductSales) AS CategorySales
            FROM [Product Sales for 1997]
            GROUP BY CategoryName

随后我们可以查询上面的视图

SELECT * FROM [Category Sales For 1997]

我们也可给视图添加一个条件。现在我们想看看"Beverages"的销售合计。

SELECT * FROM [Category Sales For 1997]
            WHERE CategoryName='Beverages'