1,定义
背景:出现数据源不止一个的情况
定义:将多个数据源中的内容拼接在一起,将拼接后的结果作为一个临时的、新的数据源,即表连接
--查找SMITH所在部门的部门编号、部门名称、部门所在地
--查找SMITH的岗位名称和部门名称
--查询各员工的薪资(EMP)以及薪资等级(SALGRADE)
--查询各员工的员工编号、姓名、岗位、薪资(EMP)以及对应的上级领导的姓名(EMP)
2,分类语法
表连接的分类及语法:
内连接:FROMA[INNER]JOINBONA.a=B.b--常用
外连接:左外连接:FROMALEFT[OUTER]JOINBONA.a=B.b--常用
右外连接:FROMARIGHT[OUTER]JOINBONA.a=B.b--不常用
全外连接:FROMAFULL[OUTER]JOINBONA.a=B.b--偶尔用
笛卡尔连接(交叉连接):FROMACROSSJOINB--不常用笛卡尔积:比较危险,会引起数据量暴涨
通过题目区分几种表连接的区别
注意:连接时,左表中的每条数据都会试图和右表中的每条数据做一次关联
各种连接的特点:
内连接:按照关联条件关联,将两表中都符合关联条件的数据取出
左外连接:按照关联条件关联,左表作为主表,将两表中都符合关联条件的数据以及主表中独有的数据取出
右外连接:按照关联条件关联,右表作为主表,将两表中都符合关联条件的数据以及主表中独有的数据取出
全外连接:按照关联条件关联,将两表中都符合关联关系的数据以及左表中独有的、右表中独有的数据取出
笛卡尔连接:没有关联条件,左表中的每一条数据都与右表中的每一条数据做了一次关联
3,常见用法
工作中的常见情况:
1.关联条件不止一个(AND-常见,OR-不常见)
和SMITH同部门的其他人
和SMITH同部门或同岗位的其他人
2.关联表不止一张
查询SMITH的姓名、部门名称、岗位、薪资及薪资水平
4,表连接注意点总结
1.数据发散的概念:
两表关联时,根据关联条件与实际的数据情况,可能会出现多种关联情况
1)1-N:A表中的每条数据可能对应B表中的多条数据
2)N-1:A表中的多条数据对应B表中的一条数据
3)1-1:A表中的一条数据对应B表中的一条数据
4)N-N:A表中的每条数据对应B表中的多条数据,同时B表中的每条数据也对应A表中的多条数据
其中第1和第4这两种,主表关联上次表后数据变多的情况称为数据发散。
当数据发散出现时,可能有以下几种情况:
1.依据实际需求而出现的合理发散
2.数据有问题导致数据发散
3.关联条件不合理导致数据发散
其中第一种情况属于合情合理,至于后两种情况,则需要做出处理,总之,出现数据发散时,要重点
转载请注明:http://www.0431gb208.com/sjszyzl/7215.html