Maison >base de données >tutoriel mysql >[数据库基础]图解JOIN

[数据库基础]图解JOIN

WBOY
WBOYoriginal
2016-06-07 15:35:261260parcourir

阅读导航 一、概要 二、JOIN分类 三、JOIN分类详解 一、概要 JOIN对于接触过数据库的人,这个词都不陌生,而且很多人很清楚各种JOIN,还有很多人对这个理解也不是很透彻,这次就说说JOIN操作。 图片是很容易被接受和理解,所以尝试使用图片来说明一下。 二、

阅读导航

一、概要

二、JOIN分类

三、JOIN分类详解

一、概要

JOIN对于接触过数据库的人,这个词都不陌生,而且很多人很清楚各种JOIN,还有很多人对这个理解也不是很透彻,这次就说说JOIN操作。

图片是很容易被接受和理解,所以尝试使用图片来说明一下。

二、JOIN分类

客官:小二,上JOIN分类!

……

小二:客官,新鲜出炉的JOIN分类图片来喽。

[数据库基础]图解JOIN

三、JOIN分类详解

客官:小二,速速详细道来!

小二:现在让小二来给您详细介绍。

INNER JOIN:

仅仅返回两个表中,匹配列相同的列值,所在行的数据。

[数据库基础]图解JOIN

<span>SELECT</span> * <span>FROM</span> Table1 t1 <span>INNER</span> <span>JOIN</span> Table2 t2 <span>ON</span> t1.Col1 = t2.Col1

 

LEFT OUTER JOIN:

左外连接:返回左表的所有数据,并且在右表中不能匹配的列值,其坐在行则使用空值。

[数据库基础]图解JOIN

<span>SELECT</span> * <span>FROM</span> Tables1 t1 <span>LEFT</span> <span>OUTER</span> <span>JOIN</span> Table2 t2 <span>on</span> t1.Col1 = t2.Col2

 

LEFT OUTER JOIN - WHERE NULL

返回和右表不匹配的所有数据行

[数据库基础]图解JOIN

<span>SELECT</span> * <span>FROM</span> Table1 t1 <span>LEFT</span> <span>OUTER</span> <span>JOIN</span> Table2 t2 <span>ON</span> t1.Col1 = t2.Col1 <span>WHERE</span> t2.Col1 <span>IS</span> NULL

 

RIGHT OUTER JOIN

右外连接:返回右表的所有数据,并且在左表中不能匹配的列值,其所做在行则使用空值。

[数据库基础]图解JOIN

<span>SELECT</span> * <span>FROM</span> Tables1 t1 <span>RIGHT</span> <span>OUTER</span> <span>JOIN</span> Table2 t2 <span>on</span> t1.Col1 = t2.Col2

 

 

RIGHT OUTER JOIN – WHERE NULL

返回和左表不匹配的所有数据行

[数据库基础]图解JOIN

<span>SELECT</span> * <span>FROM</span> Table1 t1 <span>RIGHT</span> <span>OUTER</span> <span>JOIN</span> Table2 t2 <span>ON</span> t1.Col1 = t2.Col1 <span>WHERE</span> t1.Col1 <span>IS</span> NULL

 

 

FULL OUTER JOIN

完全连接可看作是左外连接和右外连接结果之和,返回两个表的所有数据,如果匹配列的值在两个表中匹配,那么返回数据行,否则返回空值。

[数据库基础]图解JOIN

<span>SELECT</span> * <span>FROM</span> Table1 t1 <span>FULL</span> <span>OUTER</span> <span>JOIN</span> Table2 t2 <span>ON</span> t1.Col1 = t2.Col1 

 

FULL OUTER JOIN – WHERE NULL

返回内连接以外的数据行,即匹配列坐在行以外的所有数据。

[数据库基础]图解JOIN

<span>SELECT</span> <span>*</span> <span>FROM</span> Table1 t1 <span>FULL</span> <span>OUTER</span> <span>JOIN</span> Table2 t2 <span>ON</span> t1.ID <span>=</span> t2.ID <span>WHERE</span> t1.ID <span>IS</span> <span>NULL</span> <span>OR</span> t2.ID <span>IS</span> <span>NULL</span>

 

CROSS JOIN:

交叉连接不需要任何连接条件。这个会把两个表的的数据进行笛卡尔积操作。

[数据库基础]图解JOIN

<span>SELECT</span> * <span>FROM</span> Table1 t1 <span>CROSS</span> <span>JOIN</span> Table2 t2

 

小二:小二已经介绍完毕,客官,请慢用。准备洗漱睡觉了。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn