4.2SQL程序设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4.2SQL程序设计

数据查询 第四章 学习要点 简单查询 联接查询 子查询 联合查询 数据查询 第2讲 联接查询 联接概述 从多个表中选择指定的字段 关键字 JOIN 指定要联接的表,以及这些表联接的方式 关键字 ON 指定联接条件 查询两个或多个表并生成单个结果集 基于表的主键和外键,指定联接的条件 所有联接的表必须共同拥有某些字段,这些字段必须有相同的或兼容的数据类型 如果联接的表有相同字段,则引用这些字段时必须指定表名 联接询的类型 内联接 ( [INNER] JOIN ) 外联接 ( OUTER JOIN ) 交叉联接( CROSS JOIN ) 语法形式: SELECT column_list FROM table_name1 [ join_type ] JOIN table_name2 ON join_condition [,…n] WHERE search_condition 内联接(Inner Join) 内联接值显示两个表中所有匹配数据的行。如图: 等值联接 非等值联接 自身联接 U= V= SELECT A, U.B, D, E FROM U INNER JOIN V ON U.B=V.B 等值联接 【例4-1】查询每个学生的S_no(学号)、S_name(姓名)、S_class(班级)及其所选修课程的成绩情况 分析: 非等值联接 使用、、=、=等运算符作为联接条件的联接称为非等值联接。 但在实际应用中很少使用不等联接 ( ),并且通常不等联接只有与自联接同时使用才有意义,如【例4-25】所示 自身联接 一个表与其自己进行联接,这种联接称为表的自身联接 自身联接一般很少仅用于查询数据,主要用于INSERT,UPDATE语句中对一个表中满足特定条件的行进行操作操作的情况下 【例4-2】 【例4-2】 查询比“王玉梅”年龄大或同龄的学生的学号、姓名和出生年份,结果按出生年月升序排列 返回结果如下: 使用表的别名 增加语句的可读性,有利于写复杂的表的联接操作,同时简化 Transact-SQL 脚本维护 有时复杂的 JOIN 语句和子查询必须使用表的别名 例如,联接一个表和它自身时,必须使用别名 注意: 一旦定义了表的别名,则在连接时必须使用表的别名,而不能再用表的原名 外联接(Outer Join) 左(右)外联接可以从两个表中返回符合联接条件的记录,同时也将返回左(右)边不符合联接条件的记录 不满足联接条件的记录将显示空值 左外联接( LEFT [ OUTER ] JOIN ) 右外联接( RIGHT [ OUTER ] JOIN ) 完全外部联接( FULL [ OUTER ] JOIN ) 左联接: 右联接: U= V= SELECT A, U.B, D, E FROM U LEFT JOIN V ON U.B=V.B U= V= SELECT A, V.B, D, E FROM U RIGHT JOIN V ON U.B=V.B 左外联接(匹配左表的所有行) 【例4-3】需要了解所有学生及其选修课信息,如果该学生没有选课也显示其基本信息。 返回结果 右外联接(匹配右表的所有行) 【例4-4】在Information和Score表之间的右向外联接将包括所有学生的成绩 返回结果 完全联接 返回两个联接的TableA和TableB中的所有行。 U= V= SELECT A, U.B, D, E FROM U FULL JOIN V ON U.B=V.B 完全外部联接(显示所有行,不管匹配) 【例4-5】在Information和Score表之间的建立完整外部联接 返回结果 联接查询 交叉联接(卡氏积联接 ) 交叉联接将从被联接的表中返回所有可能的记录组合。 两个表的卡氏积即是两表中记录的交叉乘积 其中结果集的行数就等于两个表行数的乘积。 在规范化的数据库中,很少使用交叉联接 可以为数据库生成测试数据 【例4-6】 交叉查询 【例4-6】 对学生信息表和成绩表进行交叉联接 随堂练习 在某个汽车销售系统数据库中,有两张数据表Models

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档