经典表关联与多表查询目的:1
掌握从多个表查询数据的基本知识2
了解和学习外连接(outjoin)3
掌握内连接授课内容:1
对多于一个表的数据查询1
1现实情况中,在数据库应用中,数据存在于多个相关联的表中
基本上没有数据只存在于一个表中的情况
小的应用系统一般也有十几个表,大型系统一般有上千个表
2你经常要作的就是在多个表中进行数据查询
3Oracle对多表查询使用表连接的技术(tablejoin)1
4表连接的基本条件:(1)2个表必须有公共字段(同名字段或不同名字段)(2)在一个表中,这个公共字段必须是主键(PK)1
5二个表中的公共字段,在一个表中是主键,在另外一个表中就是外键(FK)
6二表关联中,公共字段是主键的表称为父表(主表)
是外键的表称为子表(详细表)1
7研究一下scott下的emp和dept表的关系
8研究一下oe下的表:CATEGORIES_TABCUSTOMERSINVENTORIESORDERSORDER_ITEMSPRODUCT_DESCRIPTIONSPRODUCT_INFORMATION1
9多表查询的语法select子句from表1[别名],表2[别名],视图[别名],(select子句)别名where连接语句and其他条件语句[oupyby分类项目][having子句][orderby子句]1
10任务:查询每个员工的编号,姓名,部门名称,部门位置selectempno,ename,dname,locfromempa,deptbwherea
DEPTNO=b
DEPTNO1
11多表查询的原则:对N个表连接,至少要有N-1个相等的条件
而且每个表的公共1/7字段必须出现一次
12多表关联中,如果没有指定关联等式,将产生无效的结果,它将每个关联的表的记录跟其他表的所有记录组合,产生笛卡尔积的数据
测试:select