create view view2(sno,savg,sname)
as select StudentSno,Sname,AVG((cast(StudentCourseGrade as int)))
from Student join StudentCourse
on StudentCourseSno=StudentSno
group by StudentSno,StudentSname
即可,反正Sno已经保证唯一了,再加上Sname也无法再干扰什么了。
为了不影响其他的数据库表,新建一张数据库表t_worker_info,代码如下:
create table t_worker_info(
id int(8) primary key not null auto_increment,
w_id int(10) not null,
w_name varchar(20) not null,
w_age int(3),
w_sex varchar(10),
w_birth varchar(20)
);
在查询页面用语句创建就可以。
1、打开Navicat for MySQL,并登录到指定数据库。
2、点击上方查询。
3、点击新建查询。
4、在空白处写上视图创建语句,点击左上方执行即可。
SQL Server创建视图
我们以前使用的查询设计器创建两个表中选择数据的查询。
现在让我们将查询保存为一个名为 “ToDoList” 的视图。
我们需要做的就是把 CREATE VIEW ToDoList 的 AS 查询,如下:
CREATE VIEW ToDoList AS
SELECT TasksTaskName, TasksDescription
FROM Status INNER JOIN
Tasks ON StatusStatusId = TasksStatusId
WHERE (StatusStatusId = 1)
运行该脚本,在左窗格中刷新浏览文件夹,你会看到视图就在左窗格中:
from 树懒学堂 - 一站式数据知识平台
1、关系视图:Oracle视图是作为数据库对象存在的,因此,创建之后也可以通过工具或数据字典来查看视图的相关信息。
2、内嵌视图:在from语句中的可以把表改成一个子查询,内嵌视图为子查询的一种,可以与数据表、视图一样作为查询语句的数据源存在,但在形式上有较大的区别,内嵌视图不必使用create view命令进行创建,因此,在数据字典中也无法获得相应信息。
内嵌视图的特点在于无须创建真正的数据库对象,而只是封装查询,因此会节约数据库资源,同时不会增加维护成本。但是内嵌视图不具有可复用性,因此当预期将在多处调用到同一查询定义时,还是应该使用关系视图。
3、对象视图:对象类型在数据库编程中有许多好处,但有时,应用程序已经开发完成。为了迎合对象类型而重建数据表是不现实的。对象视图正是解决这一问题的优秀策略。
对象视图创建之后,同样可以在数据字典中获得其相应信息。利用Oracle内置视图user_views可以获得对象视图相关信息。Oracle中的对象数据实际仍然以关系数据的形式存储。
但是,对象的特性,例如继承、封装等,都为开发人员提供了更加灵活的处理形式。同样,可以构造复杂的对象类型来封装复杂的多表查询。
4、物化视图:常用于数据库的容灾,不是传统意义上虚拟视图,是实体化视图,和表一样可以存储数据、查询数据。主备数据库数据同步通过物化视图实现,主备数据库通过data link连接,在主备数据库物化视图进行数据复制。当主数据库垮掉时,备数据库接管,实现容灾。
扩展资料
视图可以使应用程序和数据库表在一定程度上独立。如果没有视图,应用一定是建立在表上的。有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。视图可以在以下几个方面使程序与数据独立:
1、如果应用建立在数据库表上,当数据库表发生变化时,可以在表上建立视图,通过视图屏蔽表的变化,从而应用程序可以不动。
2、如果应用建立在数据库表上,当应用发生变化时,可以在表上建立视图,通过视图屏蔽应用的变化,从而使数据库表不动。
3、如果应用建立在视图上,当数据库表发生变化时,可以在表上修改视图,通过视图屏蔽表的变化,从而应用程序可以不动。
4、如果应用建立在视图上,当应用发生变化时,可以在表上修改视图,通过视图屏蔽应用的变化,从而数据库可以不动。
参考资料来源:百度百科-数据库视图
参考资料来源:百度百科-视图
在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。
视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。
例子
创建视图
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
usepubs
go
ifexists(selectfromsysobjectswherename='NewView'andtype='v')
dropviewNewView
go
createviewNewView
as
selectfromtitles
go
以上就是关于数据库编写 创建视图view2,查询所有学生的学号,姓名和平均成绩全部的内容,包括:数据库编写 创建视图view2,查询所有学生的学号,姓名和平均成绩、如何在MySQL中利用数据库表创建视图、mysql 数据库怎么创建视图等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)