欢迎来到天天文库
浏览记录
ID:52913977
大小:771.96 KB
页数:43页
时间:2020-03-31
《oracle数据库ppt+中科院培训专用Les04_cn.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章从多表中显示数据从多表中显示数据Copyright©OracleCorporation,2001.Allrightsreserved.进度表:时间主题55分钟讲演55分钟练习110分钟总共中国科学院西安网络中心©2005OracleSQL入门4-1第四章从多表中显示数据目标完成本课后,您应当能够执行下列操作:•写SELECT语句使用等值和非等值连接从多个表中访问数据•使用外连接查看不满足连接条件的数据•使用一个自连接,连接一个表到它自己4-2Copyright©OracleCorporation,2001.Allrightsreserv
2、ed.课程目标本课学习怎样从多个表中获得数据。中国科学院西安网络中心©2005OracleSQL入门4-2第四章从多表中显示数据从多表中获得数据EMPLOYEESDEPARTMENTS……4-3Copyright©OracleCorporation,2001.Allrightsreserved.来自多表的数据有时你需要使用来自多表的数据。在幻灯片中,报告显示了来自单独的两个表的数据。EmployeeID在EMPLOYEES表中。DepartmentID在EMPLOYEES和DEPARTMENTS表中都有。LocationIDs在DEPARTM
3、ENTS表中。为了生成报告,你需要连接EMPLOYEES和DEPARTMENTS表,并从两个表中访问数据。中国科学院西安网络中心©2005OracleSQL入门4-3第四章从多表中显示数据笛卡尔乘积•笛卡尔乘积的形成,当:–一个连接条件被遗漏时–一个连接条件不正确时–在第一个表中的所有行被连接到第二个表的所有行时•为了避免笛卡尔乘积的形成,在WHERE子句中应当总是包含正确的连接条件4-4Copyright©OracleCorporation,2001.Allrightsreserved.笛卡尔乘积当一个连接条件无效或被遗漏时,其结果是一个笛
4、卡尔乘积(Cartesianproduct),其中所有行的组合都被显示。第一个表中的所有行连接到第二个表中的所有行。一个笛卡尔乘积会产生大量的行,其结果没有什么用。你应该在WHERE子句中始终包含一个有效的连接条件,除非你有特殊的需求,需要从所有表中组合所有的行。对于一些测试笛卡尔乘积是有用的,例如你需要产生大量的行来模拟一个相当大的数据量。中国科学院西安网络中心©2005OracleSQL入门4-4第四章从多表中显示数据笛卡尔乘积的产生EMPLOYEES(20行)DEPARTMENTS(8行)…笛卡尔乘积:20x8=160行…4-5Copy
5、right©OracleCorporation,2001.Allrightsreserved.笛卡尔乘积(续)如果连接条件被遗漏,就会产生笛卡尔乘积。幻灯片中的例子从EMPLOYEES和DEPARTMENTS表中显示雇员的名字和部门名字。因为无WHERE子句被指定,EMPLOYEES表中所有的行(20行)被与DEPARTMENTS表中的所有行(8行)连接,因此产生160行的输出。SELECTlast_name,department_namedept_nameFROMemployees,departments;中国科学院西安网络中心©2005O
6、racleSQL入门4-5第四章从多表中显示数据连接的类型Oracle所有的连接SQL:1999(8i以前):适应连接:•Equijoin等值•Crossjoins交叉连接•Non-equijoin非等值•Naturaljoins自然连接•Outerjoin外连接•Usingclause使用子句•Selfjoin自连接•Fullortwosidedouterjoins全连接或双向外连接•Arbitraryjoinconditionsforouterjoins对于外连接的任意连接条件4-6Copyright©OracleCorporation,
7、2001.Allrightsreserved.连接的类型Oracle9i数据库提供SQL:1999兼容的连接语法。在9i发布以前,连接语法不同于ANSI标准。新的SQL:1999兼容连接语法不提供任何对Oracle以前发布的版本中私有连接语法性能的改进。中国科学院西安网络中心©2005OracleSQL入门4-6第四章从多表中显示数据用Oracle语法连接表使用一个连接从多个表中查询数据SESELELECTCTtatablble1e1.c.cololumumn,n,ttaabbllee22..ccoolluummnnFRFROMOMtatab
8、lble1e1,ta,tablble2e2WHWHEREREEtatablble1e1.c.cololumumn1n1==tatablble2e2.c.cololu
此文档下载收益归作者所有