- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库原理与应用 郑捷 数据库原理与应用 11 – SQL语言 ⑦ 数据修改、视图等 郑捷 嵌套查询(子查询) 在一个查询中,嵌入另外一个查询,作为外查询的依据或者参与者 根据内外查询的结果和关系,分为 相关与不相关子查询 单值子查询、列表子查询 子表查询 存在查询 子查询 ANY、ALL谓词 EXISTS子查询 子表查询 UNION查询 综合使用 ANY(SOME)、ALL谓词 对于返回列表的子查询,通常使用IN谓词配合进行查询 但是有时候可能希望对其每个元素进行判断 ANY(SOME)、ALL谓词 ANY(SOME)和ALL谓词对列表中的内容进行了修饰,使得之前的比较运算有可能进行。 ANY要求比较运算与任一个元素满足条件即可 ALL要求比较运算与全部元素均满足条件才行 SOME是ANY的同义词 比较运算等价转换关系 打叉表示在大部分情况下,这个比较是没有意义的 注意:以上等价条件是在子查询有结果的情况下。当子查询没有结果,则情况比较特殊 EXISTS存在子查询 有些场合下,我们只需要知道一个查询有没有可返回的记录,而不关心具体内容 EXISTS用于判断子查询是否有返回内容。如果有,则整个式子为真,否则为假。直接作为逻辑条件 但是返回数量多少、什么内容,一概忽略 EXISTS子查询性质 EXISTS子查询基本上都是相关子查询,一般用 SELECT * 方式,因为我们不关心查到什么 重点在于:如何构造子查询的WHERE、HAVING字句 在不考虑效率、可读性的情况下,EXISTS子查询可以等价实现几乎所有的查询 子表子查询 在FROM字句中,被查询的对象可以是另外一个查询结果,叫做子表子查询 子表子查询是将子查询的结果作为外查询的数据源 子表子查询要求 对于子表子查询,只能是不相关子查询 子查询作为表参与外查询,必须有别名!! 往往子查询被作为参与连接的一个部分 UNION查询 UNION查询实际上就是将两个查询的结果进行“并”运算 要求其连接的两个查询结果集在列属性上一一对应 例:找出年龄未知的工程师,以及男性工程师 更多情况下,UNION连接的是无法用相同结构进行查询的几个语句 UNION会自动将重复的元组删去,可以用UNION ALL来保留重复记录 数据修改、视图等 数据的更改 插入、删除、更新 视图 概念和作用 创建和使用 视图的限制 索引、约束等的额外说明 数据更新 有三种操作 插入:添加新记录 删除:删除原有记录 更新:修改原记录中指定字段的值 数据更新只影响记录,不影响表结构,同时新数据必须满足约束要求 插入语句 INSERT [INTO] 表 [(字段列表)]VALUES(值列表) INSERT [INTO] 表 [(字段列表)]SELECT 字句 插入数据说明 插入的新记录必须满足约束要求 如果省略字段列表,则系统自动默认按照字段顺序插入 值列表必须和字段列表一一对应 当某个字段没有给出值时,按照字段默认值进行 第二种语法将子查询的结果插入表中,可以同时插入多条记录,但是同样必须满足上述要求 插入案例 添加新公司 添加新员工 安排人员参加项目 新建一个表,记录员工的姓名、公司名称和参加的项目数,查询出结果并插入新表 SELECT INTO语句 SELECT 字段 INTO 新表名 FROM ...... 该语句将查询到的结果作为一个新表 删除 DELETE [FROM] 表 [WHERE 条件] 删除说明 如果没有指定条件,则删除全表所有记录,操作请注意!! 删除全部记录后表结构仍存在,只是数据没了 当表有外键时,删除操作应满足外键要求 外键对删除的影响 当两个表之间有外键关系时,对主键表记录的删除可能引起外键表数据违反约束 为避免这个情况,在建立外键的时候可以对删除操作进行如下附加说明: 禁止操作(NO ACTION) 禁止操作的进行,报告违反约束 级联操作(CASCADE) 级联删除相关的外键表记录 置空操作(SET NULL) 将外键表相关记录的外键字段设置为空(NULL) 在SQL2000中不提供 删除案例 删除上海公司 删除新添加的员工 修改外键,使得北京公司可以被删除 更新数据 UPDATE 表SET 字段=值 [{,字段=值}][WHERE 条件] 更新说明 如果没有指定条件,则更新全表的记录 新数据必须满足约束要求 新值可以是一个常量,也可以是一个表达式,还可以是根据原值计算的结果 当更新主键字段时,应注意外键的要求。外键对其的约束和删除操作一样 更新案例 每个人的工资增加20% 上海公司的员工调动到北京公司 视图 视图是从一个或几个基本表或视图导出的表 它是一个虚表 数据库只保存视图的定义,而不存放数据,数据保存在原始的基
您可能关注的文档
- 模块一 如何组建团队与架构公.ppt
- 摩擦学第三章表面接.ppt
- 某桥梁施工试验仪器设备配置.doc
- 拟人personificatio.ppt
- 攀岩墙出租租赁游乐设备提.doc
- 普美多联开关试.doc
- 普丕的故事(汉文.doc
- 普通高等学校本科专业设置申请.doc
- 普通高等学校基本办学条件指标(试行.doc
- 普通话(机测.ppt
- 2025年天津医科大学朱宪彝纪念医院人事代理制招聘方案(5人)模拟试卷及完整答案详解一套.docx
- 2025年宜宾三江新区事业单位招聘考试(26名)模拟试卷含答案详解(新).docx
- 2025年天津市北辰医院招聘高级专业技术人员(1人)考前自测高频考点模拟试题及一套完整答案详解.docx
- 2025年度中国井冈山干部学院面向全国引进优秀人才(5人)考前自测高频考点模拟试题含答案详解(典型题.docx
- 2025年广东省佛山市南海区事业单位招聘急需紧缺专业博士(10考前自测高频考点模拟试题及一套完整答案.docx
- 2025年广西百色那坡县妇幼保健院招聘编外工作人员招聘(1人)笔试备考试题完整参考答案详解.docx
- 2025年广西百色西林县八达镇人民政府招聘村级财务会计委托代理服考前自测高频考点模拟试题附答案详解(.docx
- 2025年天津市公安局和平分局关于面向社会招聘警务辅助人员(考前自测高频考点模拟试题附答案详解(考试.docx
- 2025年太仆寺旗事业单位引进急需紧缺人才的(4人)模拟试卷含答案详解(最新).docx
- 2025年广西河池罗城特聘农机技术指导员的(1人)模拟试卷及一套答案详解.docx
文档评论(0)