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;

上一篇: SQL DELETE語句 下一篇: SQL索引