Bootstrap

【MySQL】数据库表连接简明解释

未经许可,不得转载。

表连接

在关系型数据库中,建模是数据组织的核心难点。数据库建模需要将数据关系理清,构建出适合存储和查询的结构。

所谓“模型”包括实体(entity)关系(relationship) 两部分。实体是指实际存在的对象,通常由一组相关属性组成;关系则描述了这些实体之间的联系,关系通常包括“一对一”“一对多”“多对多”等类型。

以下是一个生产系统的数据库建模设计示例:

img

在关系型数据库中,每个实体都有一张表,属性则作为表的字段。表与表之间根据关联字段“连接”起来,而表连接是关系型数据库的核心。

表连接的类型

表连接有多种类型:

  • 内连接(inner join)
  • 左连接(left join)
  • 右连接(right join)
  • 全连接(full join)

传统上,维恩图用于解释这些连接的区别,如下图所示:

在这里插入图片描述

其实,我们可以换一个角度来理解连接。表连接就是通过关联字段,将两张表的数据组合在一起。 问题在于,关联字段的值不总是匹配,比如表 A 包含"1"和"2",而表 B 包含"2"和"3",只有"2"在两表中匹配。

在这种情况下