Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1242848
  • 博文数量: 510
  • 博客积分: 20296
  • 博客等级: 上将
  • 技术积分: 4680
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-30 03:58
文章存档

2011年(13)

2010年(92)

2009年(242)

2008年(163)

我的朋友

分类: 数据库开发技术

2009-01-26 20:47:05

    视观表 (Views) 可以被当作是虚拟表格。它跟表格的不同是,表格中有实际储存资料,而视观表是建立在表格之上的一个架构,它本身并不实际储存资料。

    建立一个视观表的语法如下:

  1. CREATE VIEW "VIEW_NAME" AS "SQL 语句"

    "SQL 语句" 可以是任何一个我们在这个教材中有提到的 SQL。

    来看一个例子。假设我们有以下的表格:

  1. TABLE Customer
  2. (
  3.     First_Name char(50),
  4.     Last_Name char(50),
  5.     Address char(50),
  6.     City char(50),
  7.     Country char(25),
  8.     Birth_Date date
  9. )

    若要在这个表格上建立一个包括 First_Name, Last_Name, 和 Country 这三个栏位的视观表,我们就打入:

  1. CREATE VIEW V_Customer
  2. AS 
  3. SELECT First_Name, Last_Name, Country
  4. FROM Customer

    现在,我们就有一个叫做 V_Customer 的视观表:

  1. View V_Customer
  2. (
  3.     First_Name char(50),
  4.     Last_Name char(50),
  5.     Country char(25)
  6. )

    我们也可以用视观表来连接两个表格。在这个情况下,使用者就可以直接由一个视观表中找出她要的资讯,而不需要由两个不同的表格中去做一次连接的动作。假设有以下的两个表格:

  Store_Information 表格

store_name

Sales

Date

Los Angeles

$1,500

Jan-05-1999

San Diego

$250

Jan-07-1999

Los Angeles

$300

Jan-08-1999

Boston

$700

Jan-08-1999

  Geography 表格

region_name

store_name

East

Boston

East

New York

West

Los Angeles

West

San Diego

    我们就可以用以下的指令来建一个包括每个地区 (region) 销售额 (sales) 的视观表:

  1. CREATE VIEW V_REGION_SALES
  2. AS 
  3. SELECT A1.region_name REGION, SUM(A2.Sales) SALES
  4. FROM Geography A1, Store_Information A2
  5. WHERE A1.store_name = A2.store_name
  6. GROUP BY A1.region_name

    这就给我们有一个名为 V_REGION_SALES 的视观表。这个视观表包含不同地区的销售哦。如果我们要从这个视观表中获取资料,我们就打入,

  1. SELECT * FROM V_REGION_SALES

结果:

REGION SALES
East $700
West $2050

参考:
     
     

上一页:SQL Create Table
下一页:SQL Create Index
阅读(834) | 评论(0) | 转发(0) |
0

上一篇:24.SQL Create Table

下一篇:26.SQL Create Index

给主人留下些什么吧!~~