问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

大家好,谁能解释一下Oracle里边的什么情况下使用左外和右外连接,还有全外连接。帮帮忙

发布网友 发布时间:2022-05-15 09:26

我来回答

1个回答

热心网友 时间:2023-10-17 16:55

举个简单的例子吧,从结果来理解比较具体些。
a表
name sex
张三 男
李四 女

b表
name age
李四 30
王五 23

1\全外连接
select a.name,a.sex,b.name,b.age
from   a full outer join  b on a.name=b.name
结果如下,
name sex name age
张三 男 NULL NULL
李四 女 李四 30
NULL NULL 王五 23
关联字段name,左表有而右表没有的,如张三,b.name,b.age都为NULL,加上左右两边都有的就是左连接的结果;而右表有而左表表没有的,如王五,a.name,a.sex都为NULL,加上左右两边都有的就是右连接的结果;左右两边都有的如,李四,这就是内连接。相见如下
2\左
select a.name,a.sex,b.name,b.age
from   a left outer join  b on a.name=b.name
结果如下
name sex name age
张三 男 NULL NULL
李四 女 李四 30
2\右
select a.name,a.sex,b.name,b.age
from   a right outer join  b on a.name=b.name
结果如下
name sex name age
李四 女 李四 30
NULL NULL 王五 23
3\内联
select a.name,a.sex,b.name,b.age
from   a inner join  b on a.name=b.name
结果如下
name sex name age
李四 女 李四 30
4\交叉
select a.name,a.sex,b.name,b.age
from   a cross join  b on a.name=b.name
结果如下
name sex name age
张三 男 李四 30
李四 女 王五 23
张三 男 王五 23
李四 女 李四 30  望采纳

INNER JOIN 产生的结果是AB的交集
SELECT * FROM TableA INNER JOIN TableB ON TableA.name = TableB.name

2.LEFT [OUTER] JOIN 产生表A的完全集,而B表中匹配的则有值,没有匹配的则以null值取代。
SELECT * FROM TableA LEFT OUTER JOIN TableB ON TableA.name = TableB.name

3.RIGHT [OUTER] JOIN 产生表B的完全集,而A表中匹配的则有值,没有匹配的则以null值取代。
SELECT * FROM TableA RIGHT OUTER JOIN TableB ON TableA.name = TableB.name
图标如left join类似。
4.FULL [OUTER] JOIN 产生A和B的并集。对于没有匹配的记录,则会以null做为值。
SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name
你可以通过is NULL将没有匹配的值找出来:
SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name
WHERE TableA.id IS null OR TableB.id IS null

5. CROSS JOIN 把表A和表B的数据进行一个N*M的组合,即笛卡尔积。如本例会产生4*4=16条记录,在开发过程中我们肯定是要过滤数据,所以这种很少用。
SELECT * FROM TableA CROSS JOIN TableB
相信大家对inner join、outer join和cross join的区别一目了然了。

 

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 流星轨迹为什么是同心圆 水是一种宝贵的自然资源 这句话说水是物理还是化学性质 Oracle数据库SQL语句!!!!!为什么要用内连接????外连接????这句话说的不满足条件是 水是人类宝贵的自然资源,与人类的生产、生活密切相关.(1)水是常见的溶剂,将下列生活中少量的物质分 水是人类宝贵的自然资源,珍惜和保护水是每个公民的责任.下列有关水的叙述错误的是(  )?A.用肥皂液 水是人类宝贵的自然资源,请按要求填空。 水是人类宝贵的自然资源,市场上出售的纯净水有一些是蒸馏水,对这一类纯净水的认识,下列说法中正确的是 oracle问题:内连接、外连接、左右连接等等,是不是只有两个表时才有的现象?一个表是不可能有的?? 水是人类宝贵的自然资源(1)水通电分解的化学方程式______;(2)从物质分类的角度看,纯水和矿泉水的区 水是人类宝贵的自然资源,下列关于水的性质的说法错误的是(  ) A.水在常温下是无色液体 B.水在 水是人类宝贵的自然资源,是人类生活不可缺少的物质.下列有关水的说法不正确的是(  ) A.从保护 水是人类宝贵的自然资源,从宏观组成角度看,水是由______组成的;从微粒角度看,水是由______构成的 水是人类宝贵的自然资源,下列有关水的叙述正确的是(  ) A.地球表面的70.8%被水覆盖,淡水资源非常 企业法人内部单位,只要是单独核算的,都可以申请开立基本存款账户吗 水是人类宝贵的自然资源,下列有关水的认识或观点错误的是(  )A.硬水和软水可以用肥皂水加以鉴别B. 水是人类宝贵的自然资源,下列有关水的说法错误的是(  ) A.实验室常用蒸馏水配置溶液 B.通过 水是人类宝贵的自然资源,下列有关水的说法错误的是(  )A.实验室常用蒸馏水配置溶液B.通过活性炭吸 我想去德国读硕士不知道需要什么条件?如何申请? 企业申请开立基本存款账户应提供()或书面授权书及法人和()的身份证件? 留学美国读硕士需要什么条件? 下列对水的认识中,错误的是(  )A.水是取之不尽、用之不竭的资源B.水是人类宝贵的自然资源,应当珍 请问Oracle 的隐试内连接和显示内连接有什么区别 水是宝贵的自然资源.下列说法正确的是(  )A.地球表面约71%被水覆盖,因而供人类生产生活用水极为丰 如何观测流星雨 流星划过天空,为什么留下长长轨迹 在中国哪可以看到流星雨? 流星轨迹为何有打一个旋儿落下的 发生流星雨时,为什么流星从大气层东边向西边划过? 流星飞的是平行的吗 流星划过能不能证明地球是圆的 怎样才能看到流星? 流星有什么种类,我只看过两种,你们呢? 流星雨应怎样观测 今晚的双子座流星雨怎么看?最主要是往哪个方向看? 黑蝴蝶之家的幕后制作 今晚流星雨出现的方位,上海可以看到吗 买的生蚝干说是开袋即食,是怎样吃好? 超市卖的包装生蚝干还需清洗吗 腌制即食生蚝和新鲜即食生蚝一样吗? 天海藏的生蚝是即食的吗?