第五章 復雜查詢 5-1 視圖
阿新 • • 發佈:2018-10-23
如果 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 視圖