毕业论文
您现在的位置:  >> 笛发展 >> 正文 >> 正文

Oracle数据库表连接

来源:笛 时间:2025/2/18

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

  • 上一篇文章:
  • 下一篇文章: 没有了