視觀表 (Views) 可以被當作是虛擬表格。它跟表格的不同是,表格中有實際儲存資料,而視觀表是建立在表格之上的一個架構,它本身並不實際儲存資料。
建立一個視觀表的語法如下:
CREATE VIEW "VIEW_NAME" AS "SQL 語句"
"SQL 語句" 可以是任何一個我們在這個教材中有提到的 SQL。
來看一個例子。假設我們有以下的表格:
TABLE Customer
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date date)
若要在這個表格上建立一個包括 First_Name, Last_Name, 和 Country 這三個欄位的視觀表,我們就打入,
CREATE VIEW V_Customer
AS SELECT First_Name, Last_Name, Country
FROM Customer
現在,我們就有一個叫做 V_Customer 的視觀表:
View V_Customer
(First_Name char(50),
Last_Name char(50),
Country char(25))
我們也可以用視觀表來連接兩個表格。在這個情況下,使用者就可以直接由一個視觀表中找出她要的資訊,而不需要由兩個不同的表格中去做一次連接的動作。假設有以下的兩個表格:
Store_Information 表格
| store_name |
Sales |
Date |
| Los Angeles |
$1500 |
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) 的視觀表:
CREATE VIEW V_REGION_SALES
AS SELECT A1.region_name REGION, SUM(A2.Sales) SALES
FROM Geography A1, Store_Information A2
WHERE A1.store_name = A2.store_name
GROUP BY A1.region_name
這就給我們有一個名為 V_REGION_SALES 的視觀表。這個視觀表包含不同地區的銷售哦。如果我們要從這個視觀表中獲取資料,我們就打入,
SELECT * FROM V_REGION_SALES
結果:
| REGION |
SALES |
| East |
$700 |
| West |
$2050 |
下一頁:SQL CREATE INDEX
網站導引 |
其他資源
Copyright 1999-2009 1keydata.com. 版權所有
|