尚硅谷_宋红康_10_视图_第1页
尚硅谷_宋红康_10_视图_第2页
尚硅谷_宋红康_10_视图_第3页
尚硅谷_宋红康_10_视图_第4页
尚硅谷_宋红康_10_视图_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10节视图,讲师:宋红康新浪微博:尚硅谷-宋红康,通过本章学习,您将可以:描述视图创建和修改视图的定义,删除视图从视图中查询数据通过视图插入,修改和删除数据使用“Top-N”分析,目标,常见的数据库对象,对象描述表基本的数据存储集合,由行和列组成。视图从表中抽出的逻辑上相关的数据集合。序列提供有规律的数值。索引提高查询的效率同义词给对象起别名,表EMPLOYEES:,视图,视图,视图是一种虚表.视图建立在已有表的基础上,视图赖以建立的这些表称为基表。向视图提供数据内容的语句为SELECT语句,可以将视图理解为存储起来的SELECT语句.视图向用户提供基表数据的另一种表现形式,为什么使用视图,控制数据访问简化查询避免重复访问相同的数据,特性简单视图复杂视图表的数量一个一个或多个函数没有有分组没有有DML操作可以有时可以,简单视图和复杂视图,创建视图,在CREATEVIEW语句中嵌入子查询子查询可以是复杂的SELECT语句,CREATEORREPLACEFORCE|NOFORCEVIEWview(alias,alias.)ASsubqueryWITHCHECKOPTIONCONSTRAINTconstraintWITHREADONLYCONSTRAINTconstraint;,createorreplaceviewempviewasselectemployee_idemp_id,last_namename,emailfromemployees,创建视图,创建视图举例描述视图结构,DESCRIBEempvu80,CREATEVIEWempvu80ASSELECTemployee_id,last_name,salaryFROMemployeesWHEREdepartment_id=80;Viewcreated.,创建视图,创建视图时在子查询中给列定义别名在选择视图中的列时应使用别名,CREATEVIEWsalvu50ASSELECTemployee_idID_NUMBER,last_nameNAME,salary*12ANN_SALARYFROMemployeesWHEREdepartment_id=50;Viewcreated.,SELECT*FROMsalvu50;,查询视图,SQL*PlusSELECT*FROMempvu80;,OracleServer,查询视图,修改视图,使用CREATEORREPLACEVIEW子句修改视图CREATEVIEW子句中各列的别名应和子查询中各列相对应,CREATEORREPLACEVIEWempvu80(id_number,name,sal,department_id)ASSELECTemployee_id,first_name|last_name,salary,department_idFROMemployeesWHEREdepartment_id=80;Viewcreated.,创建复杂视图,复杂视图举例,CREATEVIEWdept_sum_vu(name,minsal,maxsal,avgsal)ASSELECTd.department_name,MIN(e.salary),MAX(e.salary),AVG(e.salary)FROMemployeese,departmentsdWHEREe.department_id=d.department_idGROUPBYd.department_name;Viewcreated.,视图中使用DML的规定,可以在简单视图中执行DML操作当视图定义中包含以下元素之一时不能使用delete:组函数GROUPBY子句DISTINCT关键字ROWNUM伪列,createorreplaceviewsal_viewasselectavg(salary)avg_salfromemployeesgroupbydepartment_id,视图中使用DML的规定,当视图定义中包含以下元素之一时不能使用update:组函数GROUPBY子句DISTINCT关键字ROWNUM伪列列的定义为表达式,视图中使用DML的规定,当视图定义中包含以下元素之一时不能使用insert:组函数GROUPBY子句DISTINCT关键字ROWNUM伪列列的定义为表达式表中非空的列在视图定义中未包括,屏蔽DML操作,可以使用WITHREADONLY选项屏蔽对视图的DML操作任何DML操作都会返回一个Oracleserver错误,屏蔽DML操作,CREATEORREPLACEVIEWempvu10(employee_number,employee_name,job_title)ASSELECTemployee_id,last_name,job_idFROMemployeesWHEREdepartment_id=10WITHREADONLY;Viewcreated.,DROPVIEWempvu80;Viewdropped.,DROPVIEWview;,删除视图,删除视图只是删除视图的定义,并不会删除基表的数据,Top-N分析,Top-N分析查询一个列中最大或最小的n个值:销售量最高的十种产品是什么?销售量最差的十种产品是什么?最大和最小的值的集合是Top-N分析所关心的,Top-N分析,查询最大的几个值的Top-N分析:,SELECTcolumn_list,ROWNUMFROM(SELECTcolumn_listFROMtableORDERBYTop-N_column)WHEREROWNUM=都将不能返回任何数据.,练习1:查询员工表中,工资前10名的员工信息。练习2:查询员工表中,工资排名在10-20之间的员工信息。,select*from(selectrownumrn,employee_id,salaryfrom(selectemployee_id,salary,last_namefromemployeesorderbysalarydesc)wherern40,SELECTROWNUMasRANK,last_name,salaryFROM(SELECTlast_name,salaryFR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论