3.5.3 查询视图
2025年09月26日
3.5.3 查询视图
视图定义后,用户就可以像对基本表一样对视图进行查询操作了。
【例3.70】 在例3.65中建立的Jsj_Student视图中查找年龄小于20岁的学生。
SELECT Sno SNO,Sname SNAME,YEAR(GETDATE())-YEAR(Sbirthday)AGE
FROM Jsj_Student
WHERE YEAR(GETDATE())-YEAR(Sbirthday)<20;
系统执行对视图的查询时,首先进行有效性检查,检查查询中涉及的表、视图是否存在。如果存在,则从数据字典中取出视图的定义,把定义中的子查询和用户的查询结合起来,转换成等价的对基本表的查询,然后再执行修正了的查询。这一转换过程称为视图消解。例3.70转换后的查询语句为:
SELECT Sno SNO,Sname SNAME,YEAR(GETDATE())-YEAR(Sbirthday)AGE
FROM Student
WHERE Sdept=计算机AND YEAR(GETDATE())-YEAR(Sbirthday)<20;