SQL檢視


SQL中的檢視被視為虛擬表。檢視還包含行和列。
要建立檢視,可以從資料庫中存在的一個或多個表中選擇欄位。
檢視可以具有基於特定條件的特定行或表的所有行。

假設有以下幾張表:

Student_Detail 表的結構和資料 -

STU_ID NAME ADDRESS
1 Stephan Delhi
2 Kathrin Noida
3 David Ghaziabad
4 Alina Gurugram

Student_Marks 表的結構和資料 -

STU_ID NAME MARKS AGE
1 Stephan 97 19
2 Kathrin 86 21
3 David 74 18
4 Alina 90 20
5 John 96 18

1. 建立檢視

可以使用CREATE VIEW語句建立檢視。可以從單個表或多個表建立檢視。

語法:

CREATE VIEW view_name AS  
SELECT column1, column2.....  
FROM table_name  
WHERE condition;

2.從單個表建立檢視

在此範例中,從表Student_Detail建立一個名稱為DetailsView的檢視。

CREATE VIEW DetailsView AS  
SELECT NAME, ADDRESS  
FROM Student_Details  
WHERE STU_ID < 4;

就像表查詢一樣,可以查詢檢視來檢視資料。

SELECT * FROM DetailsView;

查詢得到結果如下 -

NAME    ADDRESS
----------------------------------
Stephan    Delhi
Kathrin    Noida
David    Ghaziabad

3.從多個表建立檢視

只需在SELECT語句中包含多個表,即可建立多個表中的檢視。

在給定的範例中,從兩個表Student_DetailStudent_Marks建立名稱為:MarksView的檢視。

建立檢視語句:

CREATE VIEW MarksView AS  
SELECT Student_Detail.NAME, Student_Detail.ADDRESS, Student_Marks.MARKS  
FROM Student_Detail, Student_Mark  
WHERE Student_Detail.NAME = Student_Marks.NAME;

查詢顯示檢視 - MarksView 的資料的語句:

SELECT * FROM MarksView;

得到以下結果:

NAME ADDRESS MARKS
Stephan Delhi 97
Kathrin Noida 86
David Ghaziabad 74
Alina Gurugram 90

4.刪除檢視

可以使用Drop View語句刪除檢視。

語法

DROP VIEW view_name;

如果要刪除檢視 - MarksView,可以使用以下語句:

DROP VIEW MarksView;