1. 程式人生 > >第五章 復雜查詢 5-1 視圖

第五章 復雜查詢 5-1 視圖

如果 sql sel 技術分享 都是 狀態 應該 異常 圖片

一、視圖和表 1、什麽是視圖:從SQL的角度來看,視圖就是一張表。只是這張表不保存實際數據,而是保存SELECT語句。

技術分享圖片

2、視圖的優點 (1)視圖無需保存數據,因此可以節約存儲設備的容量。 註:表中存儲的是實際數據,而視圖中保存的是從表中取出數據所使用的SELECT語句。 (2)可以將頻繁使用的SELECT語句保存成視圖,這樣就不用每次都重新書寫了。 只需要在SELECT語句中進行調試,就可以方便地得到想要的結果了。特別是在進行匯總以及復雜的查詢條件導致SELECT語句異常龐大時,使用視圖可以大大提高效率。 (3)視圖中的數據會隨著原表的變化自動更新,因此可以保證數據的最新狀態。 註:數據保存在表中時,必須要顯式地執行SQL更新語句才能對數據進行更新。

二、創建視圖的方法

技術分享圖片

例子:

技術分享圖片

1、使用視圖的查詢 在FROM中使用視圖的查詢,通常由如下兩個步驟: (1)首先執行定義視圖的SELECT語句。 (2)根據得到的結果,在執行在FROM子句中使用視圖的SELECT語句。 註:我們應該避免在視圖的基礎上創建視圖,因為對於多數的DBMS來說,多重視圖會降低SQL的性能。 三、視圖的限制 限制一1??定義視圖時不能使用ORDER BY子句。 註:視圖和表一樣,數據行都是沒有順序的。 限制二2??對視圖進行更新 標準SQL規定:如果定義視圖的SELECT語句能夠滿足某些條件,那麽這個視圖就可以被更新、這些條件如下: (1)SELECT子句中未使用DISTINCT (2)FROM子句中只有一張表 (3)未使用GROUP BY子句 (4)未使用HAVING子句 四、刪除視圖

技術分享圖片

第五章 復雜查詢 5-1 視圖