美文网首页
数据库表连接的简单解释 Test

数据库表连接的简单解释 Test

作者: 调皮狸 | 来源:发表于2019-01-22 21:14 被阅读0次

    关系型数据库最难的地方,就是建模(model)。

    错综复杂的数据,需要建立模型,才能储存在数据库。所谓"模型"就是两样东西:实体(entity)+ 关系(relationship)。

    实体指的是那些实际的对象,带有自己的属性,可以理解成一组相关属性的容器。关系就是实体之间的联系,通常可以分成"一对一"、"一对多"和"多对多"等类型。

    在关系型数据库里面,每个实体有自己的一张表(table),所有属性都是这张表的字段(field),表与表之间根据关联字段"连接"(join)在一起。所以,表的连接是关系型数据库的核心问题。

    表的连接分成好几种类型。

    内连接(inner join)

    外连接(outer join)

    左连接(left join)

    右连接(right join)

    全连接(full join)

    以前,很多文章采用维恩图(两个圆的集合运算),解释不同连接的差异。

    上周,我读到一篇文章,认为还有比维恩图更好的解释方式。我发现确实如此,换一个角度解释,更容易懂。

    所谓"连接",就是两张表根据关联字段,组合成一个数据集。问题是,两张表的关联字段的值往往是不一致的,如果关联字段不匹配,怎么处理?比如,表 A 包含张三和李四,表 B 包含李四和王五,匹配的只有李四这一条记录。

    很容易看出,一共有四种处理方法。

    相关文章

      网友评论

          本文标题:数据库表连接的简单解释 Test

          本文链接:https://www.haomeiwen.com/subject/kagrjqtx.html