在使用emp表时,如果需要查询查询empno(编号)、ename(姓名)、job(职位)、hiredate(雇用日期)、sal(月薪)等字段,并指定中文拼音别名,SQL语句如下:
select empno bianhao , ename xinmin, job zhiwei, hiredate guyongriqi, sal yuexin from emp;
如果需要频繁得进行该语句查询,那么每次都要重写这一行语句。使用视图可以简化操作,对empno、ename、job、hiredate、sal创建视图:
create view view_01 as select empno , ename , job , hiredate , sal from emp;
执行完上述语句即可创建名为view_01的视图,如果你是通过Navicat等图形界面工具创建视图,在左侧视图栏下可找到view_01视图。
在刚创建好的view_01视图进行查询:
select * from view_01 ;
查询结果如��:
可以发现,我们并未指定查询的字段,但查询效果却与直接在真实数据表上指定字段查询效果一样。但view_01视图并未实现字段别名,继续创建一个view_02为每个列添加别名:
create view view_02 (bianhao , xinmin , zhiwei , guyongriqi , yuexin) as select empno , ename , job , hiredate , sal from emp;
查看view_02:
select * from view_02 ;
结果如下:
可以看到,每一个列的列名都是我们在创建视图时自己重新指定的。
(2)创建基于多个表上视图
创建一个视图,视图中包含每个员工编号(empno)、姓名(ename)、职位(job)、领导编号(mgr)、领导姓名(empno)、部门名称(dname)、部门位置(loc),在真实数据表中查询语句如下:
select e1.empno bianhao, e1.ename xingming, e1.job zhiwei, e1.mgr lindaobianhao, e2.ename lindaoxingming, d.dname bumenmingchen, d.loc bumenweizhi from emp e1 , emp e2 , dept d where e1.mgr=e2.empno and e1.deptno=d.deptno ;
创建视图: