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 數據庫設計的一個關鍵要素。 視圖允許我們把表結構的細節封裝起來,這些表可能因你的應用的進化而變化, 而這些變化卻可以躲在一個一致的接口後面。

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