Oracle初级测试题十五(9-9)--视图

涎涎原创约 658 字大约 2 分钟...OracleOracle

Oracle初级测试题十五(9-9)--视图

注意

本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。

练习1

  1. 创建一个视图,通过该视图可以查询到工资在2000-5000内并且姓名中包含有A的员工编号,姓名,工资。
create or replace view viewSal2k_5k
       as select empno,ename,sal from emp
       where sal between 2000 and 5000
       and ename like '%A%';
  1. 通过上述创建的视图查询数据
select * from viewSal2k_5k;

练习2

  1. 创建一个视图,通过该视图可以查询到工作在NEW YORK和CHICAGO的员工编号,姓名,部门编号,入职日期。
create or replace view viewLoc_NY_CA
as select empno,ename,dept.deptno,hiredate
          from emp,dept
          where emp.deptno = dept.deptno
          and loc in ('NEW YORK','CHICAGO');

select * from viewLoc_NY_CA;
  1. 创建一个视图,通过该视图可以查询到每个部门的部门名称及最低工资。
create or replace view viewMinSalbydname
as select dname,min(sal) minSalbydname
   from emp,dept
   where emp.deptno(+) = dept.deptno
   group by dept.dname;
select * from viewMinSalbydname;

3. 通过如上视图,查询每个部门工资最低的员工姓名及部门名称

select ename,viewMinSalbydname.dname
from emp,dept,viewMinSalbydname
where emp.deptno = dept.deptno
and dept.dname = viewMinSalbydname.dname
and emp.sal = viewMinSalbydname.minSalbydname;

课后作业

  1. 创建视图v_emp_20,包含20号部门的员工编号,姓名,年薪列(年薪=12*(工资+奖金);
create or replace view v_emp_20
as select empno,ename,12 * (nvl(sal,0) + nvl(comm,0)) 年薪
from emp where deptno in 20;

select * from v_emp_20;
  1. 从视图v_emp_20中查询年薪大于1万元员工的信息;
select * from v_emp_20
where 年薪 > 10000;
  1. 请为工资大于2000的员工创建视图,要求显示员工的部门信息,职位信息,工作地点;
create or replace view v_sal2000M
as select dname,job,loc
   from emp,dept
   where emp.deptno = dept.deptno
   and sal > 2000;
select * from v_sal2000M;
  1. 针对以上视图执行insert,update,delete,语句能否成功,为什么?
insert into v_sal2000M values('aaa','bbb','ccc');
-- error 无法修改与非键值保存表对应的列
update v_sal2000M set job = 'aaa'
       where job in 'MANAGER'; -- ok
select * from v_sal2000M;
delete v_sal2000M; -- ok
select * from v_sal2000M;
drop v_sal2000M;-- 表数据与结构都被删除,表没了
select * from v_sal2000M;

拓展链接

第十五章视图课后练习和作业open in new window


分割线


相关信息

以上就是我关于 Oracle初级测试题十五(9-9)--视图 知识点的整理与总结的全部内容,希望对你有帮助。。。。。。。

上次编辑于:
贡献者: 涎涎
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.4