第十一讲第十一讲SQLSQL语言语言本讲内容本讲内容继续介绍继续介绍SQLSQL语言中的数据定义部分语言中的数据定义部分介绍介绍SQLSQL查询语句的使用查询语句的使用关于视图关于视图视图的主要作用是减少冗余和简化查询。基表视图的主要作用是减少冗余和简化查询。基表只存放基本数据,由基本数据经过各种计算派只存放基本数据,由基本数据经过各种计算派生出的数据一般是不存储的。生出的数据一般是不存储的。在已有字段上的视图定义当然也不含这些派生在已有字段上的视图定义当然也不含这些派生数据。数据。视图中的数据不实际存储。根据基表中的列派视图中的数据不实际存储。根据基表中的列派生出的属性列不实际存在,故称属性列。生出的属性列不实际存在,故称属性列。定义视图定义视图格式:格式:CREATEVIEW
[(<>[(<列名列名1>[,<1>[,<列名列名2>]……)]2>]……)]AS>[WITHCHECKOPTION];[WITHCHECKOPTION];子查询可以是任意复杂的子查询可以是任意复杂的SELECTSELECT语句,但通常不允许含有语句,但通常不允许含有ORORDERBYDERBY子句和子句和DISTINCTDISTINCT短语。短语。WITHWITH子句表示对视图进行子句表示对视图进行UPDATEUPDATE、、INSERTINSERT和和DELETEDELETE操操作时保证更新、插入和删除的行满足视图定义的谓词条件(即子作时保证更新、插入和删除的行满足视图定义的谓词条件(即子查询的条件表达式)。查询的条件表达式)。视图的列名可以省略,但以下情况需要明确组成视图的所有列名视图的列名可以省略,但以下情况需要明确组成视图的所有列名(或全部省略,或全部指定):(或全部省略,或全部指定):–其中某个目标列不是单纯的属性名,而是集函数或列表达式。其中某个目标列不是单纯的属性名,而是集函数或列表达式。–多表连接时选出了几个同名列作为视图的字段。多表连接时选出了几个同名列作为视图的字段。–需要在视图中为某个列启用新的更合适的名字。需要在视图中为某个列启用新的更合适的名字。删除视图删除视图格式:格式:DROPVIEW;>;视图所基的表如果被删除,视图将失效,视图所基的表如果被删除,视图将失效,基于该视图的其它视图也失效。但视图基于该视图的其它视图也失效。但视图的定义在未执行的定义在未执行DROPVIEWDROPVIEW语句前始语句前始终存在于数据字典终存在于数据字典建立索引建立索引索引的作用在于...