sql左外连接和右外连接的区别

我想知道,sql左外连接和右外连接的区别,最好谁能提供一个学习sql两表连接的论坛就好了,基础的我都懂,就是稍微复杂点的还不行,想有一个平台让我学习一下,谢谢了!不知道左... 我想知道,sql左外连接和右外连接的区别,最好谁能提供一个学习sql两表连接的论坛就好了,基础的我都懂,就是稍微复杂点的还不行,想有一个平台让我学习一下,谢谢了!
不知道左右外连接在网站中一般用在什么样的效果中.我怎么都不用到的
展开
 我来答
床前明月儿
高能答主

2020-02-26 · 探索生活中的另一种可能
床前明月儿
采纳数:101 获赞数:171950

向TA提问 私信TA
展开全部

一、数据集合不同

1、左外连接:是A和B的交集再并上A的所有数据。

2、右外连接:是A和B的交集再并上B的所有数据。

二、语法不同

1、左外连接:SELECT *FROM aLEFT OUTER JOIN bON a.`ageId` = b.`id`。

2、右外连接:SELECT *FROM aright OUTER JOIN bON a.`ageId` = b.`id`。


三、运算方式不同

1、左外连接:其运算方式为:A左连接B的记录=图3公共部分记录集C+表A记录集A1。

2、右外连接:其运算方式为:A右连接B的记录=图3公共部分记录集C+表B记录集B1 。


参考资料来源:百度百科-right join

参考资料来源:百度百科-外连接

大雅新科技有限公司
2024-11-19 广告
1.内连接:取的两个表的(有能连接的字段)的交集,即字段相同的。利用内连接可获取两表的公共部分的记录, select * from A,B where A.Aid=B.Bnameid 与 Select * from A JOIN B ON ... 点击进入详情页
本回答由大雅新科技有限公司提供
生活之书
高能答主

2021-06-02 · 答疑小帮手之生活领域
生活之书
采纳数:613 获赞数:233523

向TA提问 私信TA
展开全部

1、依据上的区别

①前者基于SELECT *FROM aLEFT OUTER JOIN bON a.`ageId` = b.`id`;

②后者基于SELECT *FROM aright OUTER JOIN bON a.`ageId` = b.`id`。

2、公式上的区别

①前者按照该方法来进行计算:A左连接B的记录=公共部分记录集C+表A记录集A1;

②后者按照该方法来进行计算:A右连接B的记录=公共部分记录集C+表B记录集B1 。

3、范围上的区别

①前者属于A和B的交集再并上A的所有数据;

②后者属于A和B的交集再并上B的所有数据。

sql的其他连接类型

1、sql内连接

包括相等连接和自然连接,使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。

2、sql交叉连接

也称作笛卡尔积,使FROM子句中的表或视图可通过内外连接按任意顺序指定。但是,用外连接指定表或视图时,表或视图的顺序很重要。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奔驰M888
推荐于2017-10-06 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1846
采纳率:0%
帮助的人:2711万
展开全部
两个表:
A(id,name)
数据:(1,张三)(2,李四)(3,王五)
B(id,name)
数据:(1,学生)(2,老师)(4,校长)

左连接结果:
select A.*,B.* from A left join B on A.id=B.id;
1 张三 1 学生
2 李四 2 老师
3 王五 NULL NULL

右链接结果:
select A.*,B.* from A right join B on A.id=B.id;
1 张三 1 学生
2 李四 2 老师
NULL NULL 4 校长

****************
补充:下面这种情况就会用到外连接
比如有两个表一个是用户表,一个是交易记录表,如果我要查询每个用户的交易记录就要用到左外外连接,因为不是每个用户都有交易记录。
用到左外连接后,有交易记录的信息就会显示,没有的就显示NULL,就像上面我举得例子一样。
如果不用外连接的话,比如【王五】没有交易记录的话,那么用户表里的【王五】的信息就不会显示,就失去了查询所有用户交易记录的意义了。
****************

看一下结果就能明白左右连接的区别了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-07-02
展开全部
学习了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2017-09-18
展开全部
  左连接是已左边表中的数据为基准,若左表有数据右表没有数据,则显示左表中的数据右表中的数据显示为空。
  左联接的结果集包括 LEFT 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
  右联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式