高级视图-big.data.analytics.with.spark
15.1、创建视图CREATE VIEW视图名字(字段) AS子查询建立一个只包含20部门雇员信息的视图(雇员的编号、姓名、工资) CREATE VIEW empv20 (empno,ename,sal) AS SELECT empno,ename,sal FROM emp WHERE deptno=20 ;例如:将之前的一个复杂语句包装成视图显示部门内最低工资比20部门最低工资要高的部门的编号及部门内最低工资: SELECT deptno,MIN(sal) FROM emp GROUP BY deptno HAVING MIN(sal)>(SELECT MIN(sal) FROM emp WHERE deptno=20) ;此时就可以将上面的复杂查询语句建立一张视图,之后查询视图即可。 15.1、高级视图如果要创建一个同名的视图,则必须先将之前的视图删除掉,再进行创建: DROP VIEW empv20 ;有些时候如果先删除再创建操作会比较麻烦,所以有时候最好的方式:如果视图存在则先自动删除,之后自动创建。 CREATE OR REPLACE VIEW empv20 (deptno,msal) AS (SELECT deptno,MIN(sal) FROM emp GROUP BY deptno HAVING MIN(sal)>(SELECT MIN(sal) FROM emp WHERE deptno=20)) ;例如,还是创建一个只包含20部门的视图CREATE OR REPLACE VIEW empv20 (empno,ename,sal,deptno) AS SELECT empno,ename,sal,deptno FROM emp WHERE deptno=20 ;现在直接更新视图里的数据将7369的部门编号修改为30。此操作在视图中完成。 update empv20 SET deptno=30 where empno=7369 ;此时,提示更新完成。默认情况下创建的视图,如果更新了,则会自动将此数据从视图中删除,之后会更新原本的数据。思考:
用户评论