欢迎来到天天文库
浏览记录
ID:61482797
大小:15.75 KB
页数:6页
时间:2021-02-04
《ORACLE数据库开发笔记.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第十章:使用视图(整理笔记)主要内容:1.创建视图;2.更改、重命名和撤消视图3.使用视图修改数据4.使用内联视图。5.使用Top-N方法。视图是从一个或多个表中导出的行或列的子集。视图本身不包含数据,它只起到一个窗口的作用,由此可以观看或修改基表的数据。数据字典把视图作为一条select语句加以保存。视图优点:1.视图可用来检索表中所选的列。(防止数据丢失)2.可创建简单的查询,检索需要频繁调看的结果。3.可用来从多个表中检索数据。4.不需要时可以删除,不影响数据库。//1创建视图注意事项:1.包含连接、组合和子查询的select语句可被包含在定义视图的子查询内。2.创建视
2、图时不能使用orderby子句,但为检索视图中数据,可用这条语句。3.orreplace选项用于修改视图定义,而无需撤消或重新创建它。//1.1创建简单视图createviewempasselectvfirstname,vlastnamefromemployee;createviewv_addressasselectvfirstname,vlastname,cphone,vemailid,ntestscorefromexternalcandidate;select*fromv_addresswherevlastname='Jones';createviewv_scoreass
3、electvfirstname,ntestscorefromexternalcandidatewherentestscore>='60';//force强制创建视图createforceviewv_testasselect*fromt_test;//orreplace创建或替代视图createorreplaceviewv_countryasselectvfirstname,ccountryfromexternalcandidatenaturaljoincountry;//1.2创建复杂视图createviewemp_dept_vuasselectvfirstname,vlas
4、tname,vdepartmentnamefromemployeejoindepartmentonemployee.cdepartmentcode=department.cdepartmentcode;//2更改、重命名和撤消视图//2.1更改视图createorreplaceviewemp_dept_vuasselectvfirstname,vlastname,vdepartmentname,cCurrentPositionfromemployeejoindepartmentonemployee.cdepartmentcode=department.cdepartmentc
5、ode;//2.2重命名视图renameemp_dept_vutoempdeptvu;//2.3撤消视图dropviewempdeptvu;select*fromemp_dept_vu;//3使用视图修改数据//不能同时修改两个表里面的数据,如果修改必须在两个表里面分别修改updateemp_dept_vusetvfirstname='Hello'wherevlastname='Smith';//4使用内联视图:它是SQL语句的子查询,在主查询的from子句使用它吧,通过别名被引用它。、selecte.vfirstname,e.nrating,e.cpositioncode,
6、m.maxratefromexternalcandidatee,(selectcpositioncode,max(nrating)maxratefromexternalcandidategroupbycpositioncode)mwheree.cpositioncode=m.cpositioncodeande.nrating7、mefromexternalcandidate;selectvfirstname,ntestscorefromexternalcandidateorderbyntestscoredesc;//同上比较,rownum能精确的查询到前几位,rownum只能是小于等于某个数。它往往用于分页查询//查询前三行selectrownumvfirstname,ntestscorefrom(selectvfirstname,ntestscorefromexternalcandidateorderbyntestscore
7、mefromexternalcandidate;selectvfirstname,ntestscorefromexternalcandidateorderbyntestscoredesc;//同上比较,rownum能精确的查询到前几位,rownum只能是小于等于某个数。它往往用于分页查询//查询前三行selectrownumvfirstname,ntestscorefrom(selectvfirstname,ntestscorefromexternalcandidateorderbyntestscore
此文档下载收益归作者所有