linux之SQL語句簡明教程---CREATE VIEW,簡明教程---create

來源:互聯網
上載者:User

linux之SQL語句簡明教程---CREATE VIEW,簡明教程---create

視觀表 (View) 可以被當作是虛擬表格。它跟表格的不同是,表格中有實際儲存資料,而視觀表是建立在表格之上的一個架構,它本身並不實際儲存資料。

建立一個視觀表的文法如下:

CREATE VIEW "VIEW_NAME" AS "SQL 陳述式";

"SQL 陳述式" 可以是任何一個我們在這個教材中有提到的 SQL。

來看一個例子。假設我們有以下的表格:

Customer 表格

欄位名稱 資料種類
First_Name char(50)
Last_Name char(50)
Address char(50)
City char(50)
Country char(25)
Birth_Date datetime

若要在這個表格上建立一個包括 First_Name, Last_Name, 和 Country 這三個欄位的視觀表,我們就打入,

CREATE VIEW V_Customer
AS SELECT First_Name, Last_Name, Country
FROM Customer;

現在,我們就有一個叫做 V_Customer 的視觀表:

V_Customer 視觀表

欄位名稱 資料種類
First_Name char(50)
Last_Name char(50)
Country char(25)

我們也可以用視觀表來串連兩個表格。在這個情況下,使用者就可以直接由一個視觀表中找出她要的資訊,而不需要由兩個不同的表格中去做一次串連的動作。假設有以下的兩個表格:

Store_Information表格

Store_Name Sales Txn_Date
Los Angeles 1500 05-Jan-1999
San Diego 250 07-Jan-1999
Los Angeles 300 08-Jan-1999
Boston 700 08-Jan-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


Linux實測如下:







轉載請註明:小劉

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.