




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理与应用,11SQL语言数据修改、视图等郑捷,数据库原理与应用,2,郑捷,嵌套查询(子查询),在一个查询中,嵌入另外一个查询,作为外查询的依据或者参与者根据内外查询的结果和关系,分为相关与不相关子查询单值子查询、列表子查询子表查询存在查询,数据库原理与应用,郑捷,2,数据库原理与应用,3,郑捷,子查询,ANY、ALL谓词EXISTS子查询子表查询UNION查询综合使用,数据库原理与应用,4,郑捷,ANY(SOME)、ALL谓词,对于返回列表的子查询,通常使用IN谓词配合进行查询但是有时候可能希望对其每个元素进行判断,数据库原理与应用,5,郑捷,ANY(SOME)、ALL谓词,ANY(SOME)和ALL谓词对列表中的内容进行了修饰,使得之前的比较运算有可能进行。ANY要求比较运算与任一个元素满足条件即可ALL要求比较运算与全部元素均满足条件才行SOME是ANY的同义词,数据库原理与应用,6,郑捷,比较运算等价转换关系,打叉表示在大部分情况下,这个比较是没有意义的注意:以上等价条件是在子查询有结果的情况下。当子查询没有结果,则情况比较特殊,数据库原理与应用,7,郑捷,EXISTS存在子查询,有些场合下,我们只需要知道一个查询有没有可返回的记录,而不关心具体内容EXISTS用于判断子查询是否有返回内容。如果有,则整个式子为真,否则为假。直接作为逻辑条件但是返回数量多少、什么内容,一概忽略,数据库原理与应用,8,郑捷,EXISTS子查询性质,EXISTS子查询基本上都是相关子查询,一般用SELECT*方式,因为我们不关心查到什么重点在于:如何构造子查询的WHERE、HAVING字句在不考虑效率、可读性的情况下,EXISTS子查询可以等价实现几乎所有的查询,数据库原理与应用,9,郑捷,子表子查询,在FROM字句中,被查询的对象可以是另外一个查询结果,叫做子表子查询子表子查询是将子查询的结果作为外查询的数据源,数据库原理与应用,10,郑捷,子表子查询要求,对于子表子查询,只能是不相关子查询子查询作为表参与外查询,必须有别名!往往子查询被作为参与连接的一个部分,数据库原理与应用,11,郑捷,UNION查询,UNION查询实际上就是将两个查询的结果进行“并”运算要求其连接的两个查询结果集在列属性上一一对应例:找出年龄未知的工程师,以及男性工程师更多情况下,UNION连接的是无法用相同结构进行查询的几个语句UNION会自动将重复的元组删去,可以用UNIONALL来保留重复记录,数据库原理与应用,12,郑捷,数据修改、视图等,数据的更改插入、删除、更新视图概念和作用创建和使用视图的限制索引、约束等的额外说明,数据库原理与应用,13,郑捷,数据更新,有三种操作插入:添加新记录删除:删除原有记录更新:修改原记录中指定字段的值数据更新只影响记录,不影响表结构,同时新数据必须满足约束要求,数据库原理与应用,14,郑捷,插入语句,INSERTINTO()VALUES()INSERTINTO()SELECT字句,数据库原理与应用,15,郑捷,插入数据说明,插入的新记录必须满足约束要求如果省略字段列表,则系统自动默认按照字段顺序插入值列表必须和字段列表一一对应当某个字段没有给出值时,按照字段默认值进行第二种语法将子查询的结果插入表中,可以同时插入多条记录,但是同样必须满足上述要求,数据库原理与应用,16,郑捷,插入案例,添加新公司添加新员工安排人员参加项目新建一个表,记录员工的姓名、公司名称和参加的项目数,查询出结果并插入新表,数据库原理与应用,17,郑捷,SELECTINTO语句,SELECTINTOFROM.该语句将查询到的结果作为一个新表,数据库原理与应用,18,郑捷,删除,DELETEFROMWHERE,数据库原理与应用,19,郑捷,删除说明,如果没有指定条件,则删除全表所有记录,操作请注意!删除全部记录后表结构仍存在,只是数据没了当表有外键时,删除操作应满足外键要求,数据库原理与应用,20,郑捷,外键对删除的影响,当两个表之间有外键关系时,对主键表记录的删除可能引起外键表数据违反约束为避免这个情况,在建立外键的时候可以对删除操作进行如下附加说明:禁止操作(NOACTION)禁止操作的进行,报告违反约束级联操作(CASCADE)级联删除相关的外键表记录置空操作(SETNULL)将外键表相关记录的外键字段设置为空(NULL)在SQL2000中不提供,数据库原理与应用,21,郑捷,删除案例,删除上海公司删除新添加的员工修改外键,使得北京公司可以被删除,数据库原理与应用,22,郑捷,更新数据,UPDATESET=,=WHERE,数据库原理与应用,23,郑捷,更新说明,如果没有指定条件,则更新全表的记录新数据必须满足约束要求新值可以是一个常量,也可以是一个表达式,还可以是根据原值计算的结果当更新主键字段时,应注意外键的要求。外键对其的约束和删除操作一样,数据库原理与应用,24,郑捷,更新案例,每个人的工资增加20%上海公司的员工调动到北京公司,数据库原理与应用,25,郑捷,视图,视图是从一个或几个基本表或视图导出的表它是一个虚表数据库只保存视图的定义,而不存放数据,数据保存在原始的基本表中视图可以被看作是命名了的查询,数据库原理与应用,26,郑捷,创建视图,CREATEVIEW()ASSELECTWITHCHECKOPTIONDROPVIEW,数据库原理与应用,27,郑捷,视图的限制,SELECT语句可以是任意合法的查询,不论多复杂都可以在没有TOP字句的情况下,不允许出现ORDERBY字句(仅限SQLServer),数据库原理与应用,28,郑捷,视图案例,建立公司代码和员工人数的视图建立男员工的视图,数据库原理与应用,29,郑捷,视图的使用,在查询中,可以将视图看作一个表进行使用,对其进行查询这个时候,可以将视图视作一个命名后的子查询这也是最常见的用法例:在上面建立的视图基础上进行查询,数据库原理与应用,30,郑捷,更新视图,可以透过视图进行数据的更新但是有一个明确的限制:只有视图中的数据可以和基本表中的数据一一对应时,才能进行更新例如,之前建立的分组查询的视图是不可更新的,而男员工视图是可以更新的,数据库原理与应用,31,郑捷,视图的作用,简化用户操作提供对数据的不同观察角度提供数据的逻辑独立性提供更好的安全保护有利于更清晰地表达查询,数据库原理与应用,32,郑捷,索引,索引是对基本表中的数据的一个摘要索引能提
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南宁代建合同范本
- 简短个人租房合同范本
- 门窗采购合同范本
- 路面硬化劳务合同范本
- 成人交友活动合同
- 合肥装潢公司合同范本
- 保险销售的合同范本
- 电缆敷设合同范本
- 工程小活合同范本
- 农具机械购销合同范本
- 2025年秋季新学期教学工作会议上校长讲话:扎根课堂、走近学生、做实教学-每一节课都值得全力以赴
- 2025年度船舶抵押贷款合同范本:航运融资与风险规避手册
- 2025年《药品管理法》试题(附答案)
- 2025年党建知识应知应会测试题库(附答案)
- 2025年新人教版小升初分班考试数学试卷
- 2025劳动合同范本【模板下载】
- 以课程标准为导向:上海市初中信息科技教学设计的探索与实践
- 2025年公共基础知识考试试题(附完整答案)
- 2025年海南省公安厅招聘警务辅助人员考试试题(含答案)
- 北川羌族自治县农业农村局北川羌族自治县测雨雷达建设项目环评报告
- 2025社区工作者必考试题库(含答案)
评论
0/150
提交评论