.
图5-26
图5-27
2.使用SQL语言建立视图v_cjtj,列出每位同学的学号,最高成绩,最低成绩,
可编辑
.
平均成绩和总成绩,按总成绩降序排列。 create view v_cjtj(xh,zgf,zdf,pjf,zf) as
(select top 100 sno,max(score),min(score),avg(score),sum(score) from SC group by sno order by sum(score) desc )
图5-28
图5-29
四、思考与练习 1.视图和表有何区别?
(1)视图是已经编译好的sql语句。而表不是 (2)视图没有实际的物理记录。而表有。 (3)表是内容,视图是窗口
可编辑
.
(4)表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时对它进行修改,但视图只能有创建的语句来修改 (5)表是内模式,视图是外模式
(6)视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。
(7)表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。 (8)视图的建立和删除只影响视图本身,不影响对应的基本表。 2.视图中的列都能更新吗?
不一定
3.查询年龄最大的教师号和年龄,SQL命令如下:请问为什么报错?如何修改? Select tno,max(year(getdate( ))-year(tbirday)) From T
选择列表中的列‘T.tno’无效,因为该列没有包含在聚合函数或GROUP BY 子句中。 在from后面加group by tno
可编辑