MySQL数据库之视图(3)

  在使用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视图。

  

MySQL数据库之视图

  在刚创建好的view_01视图进行查询:

select * from view_01 ;

  查询结果如��:

  

MySQL数据库之视图

  可以发现,我们并未指定查询的字段,但查询效果却与直接在真实数据表上指定字段查询效果一样。但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 ;

  结果如下:

MySQL数据库之视图

  可以看到,每一个列的列名都是我们在创建视图时自己重新指定的。

  (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 ;

  创建视图:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/c5ea312ee5f800234a7966e89b597226.html