mysql中表与表的关系代码_mysql的多表联系关系

数据库中经常要用到多个表的关联。mysql的关联主要包括inner join,left join,right join三种,下面分别加以介绍,并举例说明。

顾名思义,inner join集合了两个表的信息,只有都包含的才关联在一起。

left join以第一个表为准,后一个表信息不完整记为NULL

right join以第二个表为准,前一个表信息不完整记为NULL

此外要注意,一个关联条件对应到表中可能对应好几条信息,这样需要将这些信息都关联出来。

举例说明:

建立如下三张表article,us,type:

bff373873076cecce9eb77d5c883df44.png

f91c55f6bab0bddf8001547b775afabf.png

39caea441652f81877057a31f8a6407f.png

下面只详细介绍右关联,其他的关联只给出语句以及最后的结果。

首先做前两张表的右关联

select article.aid,article.title,us.username from article right join us on article.uid=us.uid;

欢迎大家阅读《mysql的多表联系关系》,跪求各位点评,by 搞代码

由于是有关联,是以us表为准的。us.uid为1的在article中有两项结果,而us.uid为3的在article中没有,所以最后得到的结果如下:

9d753b2223d5f44e2d73d66b6b65232b.png

接着在这个结果上继续右关联type表

select article.aid,article.title,us.username,type.typename from article right join us on article.uid=us.uid right join type on article.tid=type.tid;

此时将以type表为准,对于上面的关联结果,实际上aid1->tid:1,aid2->tid:2,aid3->tid:1,所以最后得到结果如下:

6d3a17742ae5ae8b13fec67177a9dc04.png

对于inner join和left join,和上面类似,就介绍简单的两表关联吧。

5216dd42c9cd124609cbd76fe2fb2fad.png

c2ecd14c95659edc5972cc76ba02ee55.png

注意这里第一个表是:us

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值