当前位置: 首页 > 教程 > 数据库管理系统 >

SQL视图

精华
小牛编辑
199浏览
2023-03-14

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;