2021-11-01
查询视图
例 在S_G视图中查询平均成绩在90分以上的学生学号和平均成绩,语句为
select sno,avg(grade)
from sc
where avg(grade)>=90
group by sno
因为where子句中是不能用聚集函数作为条件表达式的,因此执行此修正后的查询将会出现语法错误。正确转换的查询语句应该是
select sno avg(grade)
from sc
group by sno
having avg(grade)>=90
总结:目前多数关系数据库系统对行列子集视图的查询均能进行正确的转换。但对非行列子集视图的查询就不一定能做转换了,因此这类查询应该直接对基本表进行。
定义视图并查询视图与基于派生表的查询是有区别的。视图一旦定义,其定义将永久保存在数据字典中,之后的所有查询都可以直接引用该视图。而派生表只是在语句中执行时临时定义,语句执行后该定义即被删除。
“21天好习惯”第十期-10
最新推荐文章于 2023-05-06 19:13:46 发布