天涯论坛

 找回密码
 立即注册
搜索
查看: 63|回复: 5

数据库左连接、右连接、内连接、全连接区别

[复制链接]

2986

主题

3万

回帖

9956万

积分

论坛元老

Rank: 8Rank: 8

积分
99569168
发表于 2024-8-4 10:42:47 | 显示全部楼层 |阅读模式

基本定义:   

left join (左连接):返回包含左表中的所有记录和右表中连接字段相等的记录。

right join (右连接):返回包含右表中的所有记录和左表中连接字段相等的记录。

inner join (等值连接叫内连接):只返回两个表中连接字段相等的行。

full join (全外连接):返回左右表中所有的记录和上下表中连接字段相等的记录。

1、内联接

    (典型的联接运算,运用像 =  或 <> 之类的比较运算符)。包含相等联接和自然联接。     

  内联接运用比较运算符按照每一个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。   

2、外联接

外联接能够是左向外联接、右向外联接或完整外边联接。

  在 FROM子句中指定外联接时,能够由下列几组关键字中的一组指定:    

  1)LEFT  JOIN或LEFT OUTER JOIN     

左向外联接的结果集包含  LEFT OUTER子句中指定的左表的所有行,而不仅是联接列所匹配的行。倘若左表的某行在右表中匹配行,则在关联联的结果集行中右表的所有选取列表列均为空值。

  2)RIGHT  JOIN 或 RIGHT  OUTER  JOIN     

  右向外联接是左向外联接的反向联接。将返回右表的所有行。倘若右表的某行在左表中匹配行,则将为左表返回空值。       

  3)FULL  JOIN 或 FULL OUTER JOIN

完整外边联接返回左表和右表中的所有行。当某行在另一个表中匹配行时,则另一个表的选取列表列包括空值。倘若表之间有匹配行,则全部结果集行包括基表的数据值。

3、交叉联接   

  交叉联接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉联接叫作作笛卡尔积。    

FROM 子句中的表或视图可经过内联接或完整外边联接按任意次序指定;然则,用左或右向外联接指定表或视图时,表或视图的次序很重要。相关运用左或右向外联接摆列表的更加多信息,请参见运用外联接。

示例:

 A表          

  id   name  

  1  小王

  2  小李

  3  小刘

  B表

  id  A_id  job

  1  2    老师

  2  4    程序员

内连接:(仅有2张表匹配的行才可表示

select a.name,b.job from A a  inner join B b on a.id=b.A_id

  只能得到一条记录

  小李  老师

左连接:(左边的表不加限制)

select a.name,b.job from A a  left join B b on a.id=b.A_id

  三条记录

小王  null

  小李  老师

  小刘  null

右连接:(右边的表不加限制)

select a.name,b.job from A a  right join B b on a.id=b.A_id

  两条记录

  小李  老师

  null  程序员

全外连接:(上下2张表都不加限制)

select a.name,b.job from A a  full join B b on a.id=b.A_id

  四条数据

  小王  null

  小李  老师

  小刘  null

  null  程序员

注:在sql中l外连接包含左连接(left join )和右连接(right join),全外连接(full join),等值连接(inner join)又叫内连接。

Bye~

不想错失就把咱们设为星标吧!

第1步:点击顶部蓝字“自动化软件测试”,进入公众号主页

第二步:点击右上角“···”

第三步:点击“设为星标”





上一篇:【技术分享】数字孪生10个技术栈:数据清洗
下一篇:连接器科普|什么是板内连接器
回复

使用道具 举报

1

主题

598

回帖

-3

积分

限制会员

积分
-3
发表于 2024-8-25 04:21:56 | 显示全部楼层
同意、说得对、没错、我也是这么想的等。
回复

使用道具 举报

3047

主题

3万

回帖

9606万

积分

论坛元老

Rank: 8Rank: 8

积分
96065852
发表于 2024-9-27 18:54:59 | 显示全部楼层
这篇文章真的让我受益匪浅,外链发布感谢分享!
回复

使用道具 举报

2986

主题

3万

回帖

9956万

积分

论坛元老

Rank: 8Rank: 8

积分
99569168
 楼主| 发表于 2024-10-4 14:35:53 | 显示全部楼层
论坛的成功是建立在我们诚恳、务实、高效、创新和团结合作基础上,我们要把这种精神传递下去。
回复

使用道具 举报

3070

主题

3万

回帖

9915万

积分

论坛元老

Rank: 8Rank: 8

积分
99158931
发表于 2024-10-13 18:13:39 | 显示全部楼层
楼主听话,多发外链好处多,快到碗里来!外链论坛 http://www.fok120.com/
回复

使用道具 举报

3061

主题

3万

回帖

9913万

积分

论坛元老

Rank: 8Rank: 8

积分
99139052
发表于 2024-11-2 16:09:27 | 显示全部楼层
论坛外链网  http://www.fok120.com/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|天涯论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-23 10:49 , Processed in 0.117376 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.