第9 讲 表关联与多表查询 目的: 1
掌握从多个表查询数据的基本知识 2
了解和学习外连接(out join) 3
掌握内连接 授课内容: 1
对多于一个表的数据查询 现实情况中,在数据库应用中,数据存在于多个相关联的表中
基本上没有数据只存在于一个表中的情况
小的应用系统一般也有十几个表,大型系统一般有上千个表
你经常要作的就是在多个表中进行数据查询
Oracle 对多表查询使用表连接的技术(table join) 表连接的基本条件: (1) 2 个表必须有公共字段(同名字段或不同名字段) (2) 在一个表中,这个公共字段必须是主键(PK) 二个表中的公共字段,在一个表中是主键,在另外一个表中就是外键(FK)
二表关联中,公共字段是主键的表称为父表(主表)
是外键的表称为子表(详细表)
研究一下 scott 下的emp 和dept 表的关系
研究一下 oe 下的表: CATEGORIES_TAB CUSTOMERS INVENTORIES ORDERS ORDER_ITEMS PRODUCT_DESCRIPTIONS PRODUCT_INFORMATION 多表查询的语法 select 子句 from 表1[ 别名],表2[ 别名],视图[ 别名],(select 子句)别名 where 连接语句 and 其他条件语句 [oupy by 分类项目] [having 子句] [order by 子句] 任务:查询每个员工的编号,姓名,部门名称,部门位置 select empno,ename, dname,loc from emp a, dept b where a
DEPTNO=b
DEPTNO 多表查询的原则:对N 个表连接,至少要有 N-1 个相等的条件
而且每个表的公共字段必须出现一次
多表关联中,如果没有指定关联等式,将产生无效的结果,它将每个