3.2. 視圖

回頭看看在 Section 2.6 裡的查詢。 假設您的應用對天氣記錄和城市位置的組合列資料表特別感興趣, 而您又不想每次鍵入這些查詢。那麼您可以在這個查詢上建立一個視圖, 它給這個查詢一個名字,您可以像普通資料表那樣引用它。

CREATE VIEW myview AS
    SELECT city, temp_lo, temp_hi, prcp, date, location
        FROM weather, cities
        WHERE city = name;

SELECT * FROM myview;

自由地運用視圖是好的 SQL 資料庫設計的一個關鍵要素。 視圖允許我們把資料表結構的細節封裝起來,這些資料表可能因您的應用的進化而變化, 而這些變化卻可以躲在一個一致的接口後面。

視圖幾乎可以在一個真正的資料表可以使用的任何地方使用。 在其它視圖上面再建造視圖也並非罕見。