本文概述
- SQL中的视图被视为虚拟表。视图还包含行和列。
- 要创建视图, 我们可以从数据库中存在的一个或多个表中选择字段。
- 视图可以基于特定条件具有特定的行, 也可以具有表的所有行。
样表:
Student_Detail
STU_ID | NAME | 地址 |
---|---|---|
1 | Stephan | Delhi |
2 | Kathrin | Noida |
3 | David | Ghaziabad |
4 | Alina | Gurugram |
学生分数
STU_ID | NAME | 分数 | 年龄 |
---|---|---|---|
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 | 地址 |
---|---|
Stephan | Delhi |
Kathrin | Noida |
David | Ghaziabad |
3.从多个表创建视图
可以通过在SELECT语句中仅包含多个表来创建多个表的视图。
在给定的示例中, 从两个表Student_Detail和Student_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;
要显示View MarksView的数据:
SELECT * FROM MarksView;
NAME | 地址 | 分数 |
---|---|---|
Stephan | Delhi | 97 |
Kathrin | Noida | 86 |
David | Ghaziabad | 74 |
Alina | Gurugram | 90 |
4.删除视图
可以使用Drop View语句删除视图。
句法
DROP VIEW view_name;
例:
如果要删除View MarksView, 可以执行以下操作:
DROP VIEW MarksView;
评论前必须登录!
注册