Heim > Datenbank > MySQL-Tutorial > mysql的多表联系关系

mysql的多表联系关系

WBOY
Freigeben: 2016-06-07 16:14:59
Original
1654 Leute haben es durchsucht

mysql的多表关联 ? ? 数据库中经常要用到多个表的关联。mysql的关联主要包括inner join,left join,right join三种,下面分别加以介绍,并举例说明。 ? ? 顾名思义,inner join集合了两个表的信息,只有都包含的才关联在一起。 ? ? left join以第一个表为准

mysql的多表关联

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

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

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

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

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

? ? 举例说明:

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

? ??

?

?


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

首先做前两张表的右关联

select article.aid,article.title,us.username from article right join us on article.uid=us.uid;
Nach dem Login kopieren

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



?接着在这个结果上继续右关联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;
Nach dem Login kopieren

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



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



?



?注意这里第一个表是:us

?

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage