我的编程空间,编程开发者的网络收藏夹
学习永远不晚

sql语句中左外连接、右外连接、内连接是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

sql语句中左外连接、右外连接、内连接是什么

小编给大家分享一下sql语句中左外连接、右外连接、内连接是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

以下的代码演示均基于name表和country表展开。
name表

idname
1西施
2杨玉环
3貂蝉
4王昭君
5赵飞燕

country表

idcountryA_ID
1春秋时期越国人1
2唐代蒲州永乐人2
3东汉末年山西忻州人3
4西汉时期南郡秭归人4
5战国时期6

注 :
1)b表A_ID与a表a_id 存在关系
2)连接查询是要使用关联条件去除不匹配数据否则会出现笛卡尔积

1) 内连接

语法:	select  要查询的字段 from 表名1 inner join 表名2 on 表1.字段 = 表2.字段;
	inner join 可简写为 逗号,
内连接特点:
	只会保留完全符合on后条件的数据
应用场景:
	如果两张表有外键关系可以使用内链接,因为通过内链接每一条只能返回单条记录
select * from name n inner join country c on n.id = c.N_ID;
idnameidcountryN_ID
1西施1春秋时期越国人1
2杨玉环2唐代蒲州永乐人2
3貂蝉3东汉末年山西忻州人3
4王昭君4西汉时期南郡秭归人4

2)左外连接

语法:	select 要查询的字段 from 表1 left outer join 表2 on 表1.字段 = 表2.字段;
	outer 可省略
左外连接特点:
	以左表为主,会保留左表中不符合on后条件的数据
应用场景:
	只有部分记录可以从表2中查到,但表1想要显示所有记录,就可以和表2通过左外连接查询。
select * from name n left join country c on n.id=c.N_ID;
idnameidcountryN_ID
1西施1春秋时期越国人1
2杨玉环2唐代蒲州永乐人2
3貂蝉3东汉末年山西忻州人3
4王昭君4西汉时期南郡秭归人4
5赵飞燕nullnullnull

3) 右外连接

语法:	select * from 表1 right outer join 表2 on 表1.字段 = 表2.字段;
	outer 可省略
右外连接特点:
	以右表为主,会保留右表中不符合on后条件的数据
应用场景:
	和左外连接相反
	只有部分记录可以从表1中查询到,但表2想要显示所有记录, 就可以和表1通过右外连接查询。
select * from name n right join country c on n.id=c.N_ID;
idnameidcountryN_ID
1西施1春秋时期越国人1
2杨玉环2唐代蒲州永乐人2
3貂蝉3东汉末年山西忻州人3
4王昭君4西汉时期南郡秭归人4
nullnull5战国时期6

4) 完全链接

语法:	select * from 表1 full join 表2 on 表1.字段 = 表2.字段;完全连接特点:
	会保留表1和表2的全部数据
select * from name n full join country c on n.id=c.N_ID;
idnameidcountryN_ID
1西施1春秋时期越国人1
2杨玉环2唐代蒲州永乐人2
3貂蝉3东汉末年山西忻州人3
4王昭君4西汉时期南郡秭归人4
5赵飞燕nullnullnull
nullnull5战国时期6

注意:该语法在MySql中不适

看完了这篇文章,相信你对“sql语句中左外连接、右外连接、内连接是什么”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

sql语句中左外连接、右外连接、内连接是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接

1、内联接(典型的联接运算,使用像 =  或 之类的比较运算符)。包括相等联接和自然联接。      内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。         2、外
深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接
2019-01-06

sql语句之内连接与外连接

内连接: 查询效率:速度较快 内存占用:先笛卡尔积,再进行where晒减,内存占用在初期笛卡尔积的时候会很大。 内连接占用内存空间大 显示内连接和隐式内连接除了写法不一样,其他没有什么不同 外连接: 查询效率:一般 内存占用:以基准表进行扫描拼接,内存占用在
sql语句之内连接与外连接
2021-08-12

sql中左连接和左外连接的区别是什么

左连接和左外连接的主要区别在于输出结果中来自左表的行:左连接:返回所有匹配左表和右表的行,不匹配的行被排除在外。左外连接:返回左表的所有行,对于匹配右表的行返回匹配值,对于不匹配的行返回 null 值。左连接与左外连接的区别左连接和左外连
sql中左连接和左外连接的区别是什么
2024-05-10

sql中的左连接和右连接是什么

sql 中的左连接和右连接是两种连接表的方式:左连接:保留左表所有行,即使右表没有匹配行,右表字段为空。右连接:保留右表所有行,即使左表没有匹配行,左表字段为空。SQL 中的左连接和右连接在 SQL 中,连接是将来自两个或更多表的行组合在
sql中的左连接和右连接是什么
2024-05-10

sql中左连接和右连接有什么区别

在SQL中,左连接(LEFT JOIN)和右连接(RIGHT JOIN)是连接两个表的一种方式,它们的区别在于连接的方向和结果集的形式。左连接(LEFT JOIN)是指从左表中取出所有记录,并且如果右表中与左表中的记录有匹配的记录,则将其
2023-10-23

mysql中内连接,左连接和右连接的区别

mysql 中内连接、左连接和右连接的区别在于:内连接只返回同时在两个表中匹配的行,而左连接返回左表所有行,包含匹配右表行,右连接返回右表所有行,包含匹配左表行。内连接语法:select * from table1 inner join t
mysql中内连接,左连接和右连接的区别
2024-04-29

MySQL左连接、右连接、内连接与Hash连接怎么实现

这篇“MySQL左连接、右连接、内连接与Hash连接怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“MySQL左连接、
2022-11-30

sql中左连接与右连接的区别

sql 中左连接和右连接主要区别在于连接结果中优先显示哪个表的数据。左连接优先显示左表,若右表无匹配行则填充 null;右连接优先显示右表,若左表无匹配行则填充 null。SQL 中左连接与右连接的区别在 SQL 中,左连接和右连接是连接
sql中左连接与右连接的区别
2024-05-10

SQL中内连接和外连接的区别

在这篇文章中,我们将了解 SQL 中内连接和外连接的区别。内连接子句使用的是“INNER JOIN”和“JOIN”。它返回两个或多个表的组合元组。当没有共同属性时,结果为空。如果元组数量较多,则“INNER JOIN”比“OUTER”工作得
2023-10-22

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

sql 中左连接和右连接的区别在于优先连接的表:左连接优先连接左表,而右连接优先连接右表。因此,当处理包含 null 值的表时,左连接将确保返回左表中的所有行,而右连接将确保返回右表中的所有行,即使在另一表中没有匹配行时也会如此。SQL 中
sql中的左连接和右连接的区别
2024-05-10

sql中的左连接和右连接的关系

在 sql 中,左连接和右连接是两种联接类型:左连接优先显示左表中的所有行,匹配行显示右表数据,不匹配行为 null。右连接优先显示右表中的所有行,匹配行显示左表数据,不匹配行为 null。SQL 中左连接和右连接的关系在 SQL 中,左
sql中的左连接和右连接的关系
2024-05-10

编程热搜

目录