ImageVerifierCode 换一换
格式:PPT , 页数:35 ,大小:1.12MB ,
资源ID:588607      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-588607.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第5章-连接查询.ppt)为本站会员(天天快乐)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

第5章-连接查询.ppt

1、Oracle数据库查询与管理,第5章:多表联接查询,本章内容,INNER JOIN Join的类型及用法自然连接非等值连接OUTER JOINLEFT OUTER JOINRIGHT OUTER JOINFULL OUTER JOIN笛卡尔积,本章目标,使用等值联接和非等值连接访问多个表中的数据使用自连接将表连接到自身使用外连接,使用连接显示多个表中的数据,知识点概览,问题1:获取多个表中的数据,SQL 99标准的连接,SQL 99标准的连接有自然连接外连接(OUTER连接)LEFT OUTERRIGHT OUTERFULL OUTER交叉连接,Oracle中的连接查询语法,编写查询中的建议,

2、使用表前缀限定来区分来自不同表中的名称相同的列使用表前缀可以提高性能可以使用表别名来代替完整表名前缀,使得SQL代码更简短,因而占用更少的内存也可以使用列别名区分,示例:,问题1 的实现,SELECT employee_id,department_id,department_nameFROM employees NATURAL JOIN departments;,这种连接叫做自然连接,自然连接,以两个表中具有相同名称的所有列为基础从两个表中在匹配列中有相同值的行如果名称相同但字段类型不同,则返回一个错误另外一个自然连接的例子,Where子句同样适用于自然连接查询中,使用JOIN和USING子句

3、创建连接,如果两个表有多个匹配的列,则可以用JOIN和USING子句指定等值连接的列USING子句指定连接使用的匹配列NATURAL JOIN与USING子句是互斥的!,不要对USING子句中使用的列进行表前缀限定,使用JOIN和ON子句创建连接,自然连接是对具有相同名称的所有列进行等值连接使用JOIN和ON子句可以指定任意条件或指定要连接的列,列名可以不同连接条件独立于其他搜索条件ON子句使代码易于理解,使用ON子句实现三个表的连接,对连接附加筛选条件,使用JOIN的AND子句或WHERE子句进行连接时的条件筛选示例:查询149号员工所管辖的员工信息和部门信息,自连接,观察EMPLOYEES

4、表中的数据,假设把EMPLOYEES表复制为两份,WORKER和MANAGER,自连接对同一个表进行的连接必须使用不同的表别名来标识在查询中每次对表的引用示例:使用一个自连接来显示每个雇员及其管理者的名字,SELECT w.first_name | | w.last_name | works for | m.first_name | | m.last_nameFROM employees wJOIN employees mON w.manager_id=m.employee_id,使用表别名,表别名使用表别名可以简化查询使用表前缀可以提高性能示例1:不使用表别名查询产品名称和产品类型示例2:使

5、用表别名查询产品名称和产品类型,SELECT products.NAME,product_types.NAMEFROM products,product_typesWHERE products.product_type_id=product_types.product_type_id;,SELECT p.NAME,pt.NAMEFROM products p,product_types ptWHERE p.product_type_id=pt.product_type_id;,非等值联接,select employee_id,e.last_name,e.salary,g.grade_level

6、from employees ejoin job_grades gon e.salary between g.lowest_salary and g.highest_salary,使用Oracle语法完成连接查询,可以在where子句中编写联接条件此时FROM子句中要跟多个表如果在多个表中出现了相同的列名,则在列名的前面加上表名进行限定,SELECT table1.column,table2.columnFROM table1JOIN table2 ON table1.column1=table2.column2,筛选条件用AND附加在where的联接条件后示例:查询雇员Matos的部门编号和

7、部门名称,连接两个以上的表时,多个联接条件之间用AND示例:要显示每位雇员的姓氏、部门名称和所在城市,则需要将EMPLOYEES、DEPARTMENTS和LOCATIONS表联合起来,外连接,问题:当针对部门表和员工表进行等值连接查询来返回右侧结果的时候,结果集不会包含下面的数据:部门ID190的部门,因为员工表中不存在部门编号为190的员工;last_name为grant的雇员,因为没有为该雇员分配部门ID。要返回没有任何雇员的部门记录,或者返回没有分配部门的雇员,就需要使用外连接(OUTER JOIN)。,内联接与外联接,在SQL 99标准中,如果两个表的联接只返回相匹配的行,则成为INN

8、ER联接。INNER联接结果中不会出现不符合联接条件的行。如果两个表的联接不仅返回INNER联接的结果,还返回左表(右表)中不匹配的行,则称该联接为左(右)OUTER联接。如果两个表的联接不仅返回INNER联接的结果,还返回左和右联接的结果,则称为完全OUTER联接。,LEFT OUTER JOIN,RIGHT OUTER JOIN,FULL OUTER JOIN,笛卡尔积,什么是笛卡尔积,笛卡尔积,出现以下情况时将形成笛卡尔积联接条件被忽略联接条件无效第一个表中的所有行被联接到第二个表中的所有行如果要避免生成笛卡尔积,请务必在WHERE子句中使用有效的联接条件,笛卡尔积,生成笛卡尔积联接条件被忽略交叉联接,如果要生成笛卡尔积,最好显式指定CROSS JOIN,以说明是需要生成笛卡尔积,而不是忽略了联接条件,内连接外连接交叉连接,总结,第6章练习,上机任务,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报