跟我学Oracle从入门到精通培训教程——内部连接查询及应用.pptVIP

跟我学Oracle从入门到精通培训教程——内部连接查询及应用.ppt

  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文档。上传文档
查看更多
跟我学Oracle从入门到精通培训教程——内部连接查询及应用.ppt

内部连接查询及应用 内部连接查询及应用 内部连接查询及应用 SQL-92所支持的内部连接 inner join实内连接查询 自然内连接及应用 自连接形式的内连接 在本单元重点了解如下知识点 一、内部连接查询及应用 1、什么是内连接的连接查询 内连接的连接查询结果集中都是包含满足连接条件的数据行,其实也就是在前面的无条件的交叉查询中(在笛卡尔乘积的结果集中)去掉不符合连接条件的数据行。 使用内连接时,如果两个数据库表的相关字段都满足连接条件,则从这两个表中提取数据并组合成新的记录,也就是说,在内连接查询中,只有满足连接条件的数据才能出现在结果集中。 2、内连接的连接查询主要的应用场合 应用内连接查询可以将两个数据库表的部分数据按照某种条件重新组合输出,产生新的数据集(也就是分别从各个数据库表中挖出所需要的部分字段数据再重新组合)。 3、内连接查询及主要的类型 内连接查询操作使用比较运算符比较被连接列的列值。 可分为等值、不等值和自然内连接三种方式。 5、不等连接(不等值内连接) 在连接条件中使用除等于运算符以外的其它比较运算符比较被连接的列的列值。 这些运算符包括、=、=、、!=(或者)等形式。 6、自然连接(自然内连接) 在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。 4、等值连接(等值内连接) 在连接条件中使用“=”运算符比较被连接列的列值 其查询结果中只列出满足条件的被连接表中的所有列,包括其中的重复列。 二、旧式的SQL-92所支持的内部连接 1、什么是旧式的SQL-92所支持的内部连接 通过在FROM子句中只列出要连接的各个数据库表名(而不采用join关键字)、并借助WHERE子句列出连接的条件。此种连接查询其实是一种SQL-92支持的内连接查询类型(也称为旧式内部连接)。 当然,如果没有WHERE子句,则此时为广义笛卡尔积或称为交叉连接查询类型。如下语句示例: select 列1,列2 FROM 表1,表2 WHERE 表1.列=表2.列 ; 2、等值内连接查询的应用需求和示例SQL语句 (1)示例中的查询需求--查询出每个部门的员工信息 (2)对应的SQL代码示例 3、在SQJ语句中直接应用数据库表名实现等值内连接查询的示例 (1)直接应用数据库表名构建SQL语句 select 表1中的列名1,表1中的列名2,表2中的列名1,表2中的列名2 …. From 表1,表2 表1.某列名=表2.某列名; (2)示例SQL语句 4、在对数据库表进行连接操作时所应该注意的问题 (1)正确地引用多表中的同名字段 在编写SQL语句中所需要注意的一个问题是对同名字段的引用问题--需要采用数据库表名加以限定, 如本示例中对customer_info.customer_ID,contract_info.customer_ID字段的引用形式。 (2)在连接的条件中保证连接字段不要为空值 因为空值和其他值都不会出现相等的条件,从而导致条件不满足。 (3)数据库管理系统并不能保证结果集中各个记录的顺序 因此,如果需要以某个特定的顺序获得数据,需要采用ORDER BY子句指定排序的方式。 5、应用数据库表别名实现等值内连接查询示例 (1)为什么要提供数据库表的别名 有时直接应用数据库表名比较烦琐或者可读性比较差(特别是数据库表名没有达到“见名知意”时),为了使得SQL程序能够简洁明了,可以为数据库表定义出表别名。 但要注意的是,与给字段起别名不同,为数据库表起别名是放在FROM子句中完成的。由于SELECT在执行过程中,首先执行的是FROM子句,而数据库表的别名是在FROM子句中实现的,所以在SELECT语句的任何子句中都可以使用所定义的数据库表的别名。 而且在某些形式的数据库表的连接查询中,为数据库表定义出数据库表的别名是必需的,如下面将要介绍的数据库表的自连接。 (2)应用表别名的SQL语句的基本语法形式 select 表别名1.列名1,表别名1.列名2,表别名2.列名1,表别名2.列名2 …. From 表1 表1别名,表2 表2别名 Where 表1别名.列名=表2别名.列名; (3)示例SQL语句 6、非等值内连接查询 (1)再次理解什么是非等值内连接查询 两个不同的数据库表通过不相等的条件进行相互关联的内连接查询。 (2)示例中的内连接查询需求 也就是查询出满足在Job_Grades(工作等级)数据库表中的最低工资和最高工资要求的员工信息。 (3)SQL代码示例 SELECT emp.last_name, emp.salary, job.grade_level FROM e

文档评论(0)

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

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

1亿VIP精品文档

相关文档