第3讲数据表连接.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文档。上传文档
查看更多
第3讲数据表连接

主要内容 ①SQL语句编写标准 ②交叉连接 ③内连接 ④外连接 ⑤多表连接与自身连接 SQL语句编写标准 逗号的处理要求 SQL语句字符串前后空格的要求 SQL语句大小写的要求 为了代码风格上的统一,所有的SQL关键字都要求使用大写,非关键字的按实际情况处理大小写。 错误的语句: 什么时候应该换行? 当遇到下面的关键字时,都要求进行换行处理: SELECT、INSERT、DELETE、FROM、WHERE、AND、OR、LEFT JOIN、ORDER BY、GROUP BY、UNION 连接查询 实现从两个或两个以上表中检索数据且结果集中出现的列来自于两个或两个以上表中的检索操作称为连接查询。 连接查询的两大类表示形式: (1)符合SQL标准连接谓词的表示形式。 (2)扩展使用的关键字JION的表示形式。 1、连接谓词表示 连接谓词中的两个列称为连接字段,它们必须是可比的。 如:select s.*,e.* from student s,enrlls e where s.sno=e.sno 2、JOIN关键字指定的连接 (1)内连接:按照ON所指定的连接条件合并两个表,返回满足条件的行。 注意: ①只显示多表之间与关联条件相匹配的列。 ②在JOIN运算中,连接具有两个相同数据类型的数据,字段名称不必相同。 ③若两个来源表包含名称相同的字段,则在引用这些字段时须冠以表名。 如: Select enrolls.sno,sname,cno,grade From enrolls inner join student on enrolls.sno=student.sno (2)外连接: 外连接的结果表不但包含满足连接条件的行,还包括相应表中的所有行。 左外连接例题: 找出Jiaoxue管理数据库中所有学生的情况及他们选修课程的课程号和成绩,对没有选课的学生也要包括其情况。 select student.sno,sname,cno,grade from student left outer join enrolls on student.sno=enrolls.sno 右外连接例题: 找出Jiaoxue管理数据库中所有课程选修及开设情况。 select o, cname, sno from enrolls right outer join courses on o=o WHERE子句中使用的连接语句,在数据库语言中,被称为隐性连接。 INNER JOIN……ON子句产生的连接称为显性连接。(其他JOIN参数也是显性连接)WHERE 和INNER JOIN产生的连接关系,没有本质区别,结果也一样。但是!隐性连接随着数据库语言的规范和发展,已经逐渐被淘汰,比较新的数据库语言基本上已经抛弃了隐性连接,全部采用显性连接了。 连接嵌套 连接二个表 FROM 表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号 连接三个表 FROM (表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号 连接四个表 FROM ((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号 连接五个表 FROM (((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON 表1 .字段号=表4.字段号) INNER JOIN 表5 ON 表1 .字段号=表5.字段号 如D1_2009中的连接查询: SELECT E.EmpNo, E.EmpName, E.Sex, E.Nation, E.PartID, P.PartName, E.PartID2, P2.PartName AS PartName2, E.ID, E.DutyName, E.EmployeeType, E.Education, E.CardID, E.PID, E.ComeDate, E.IsDacard, E.Incumbency, P.PartID2 AS _PartID2, E.flag1, E.H1, E.L1, E.age, E.WorkYears, E.WorkMonths, E.LeaveDate, E.WhyLeave, E.E

文档评论(0)

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

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

1亿VIP精品文档

相关文档