一、innerjoin

innerjoin总结来说就是 ,如A知道通往B如何走;B知道通往C如何走;但是A不知道通往C如何走,但是A可以通过B获得去往C的通往方式。。

首先,假设有A,B两张表,结构及数据如下:

sql语句中的join用法(可视化解释)-LMLPHP

INNERJOIN

sql语句中的join用法(可视化解释)-LMLPHP

INNERJOIN产生的结果集是A表和B表的交集。

代码如下:

sql语句中的join用法(可视化解释)-LMLPHP

结果如下:

sql语句中的join用法(可视化解释)-LMLPHP

LEFTJOIN

sql语句中的join用法(可视化解释)-LMLPHP

LEFTJOIN产生A表的完全集,而B表中匹配的则有值,没有匹配的则以NULL填充。

sql语句中的join用法(可视化解释)-LMLPHP

sql语句中的join用法(可视化解释)-LMLPHP

RIGHTJOIN

sql语句中的join用法(可视化解释)-LMLPHP

RIGHTJOIN和LEFTJOIN相对应,产生的是B表的完全集,而A表中匹配的则有值,没有匹配的则以NULL填充。

sql语句中的join用法(可视化解释)-LMLPHP

sql语句中的join用法(可视化解释)-LMLPHP

OUTERJOIN

sql语句中的join用法(可视化解释)-LMLPHP

OUTERJOIN也可以写成FULLOUTERJOIN,产生的是A表和B表的并集。没有匹配的记录,仍是以NULL填充。

sql语句中的join用法(可视化解释)-LMLPHP

sql语句中的join用法(可视化解释)-LMLPHP

LEFTExcludingJOIN

sql语句中的join用法(可视化解释)-LMLPHP

LEFTExcludingJOIN产生在A表中有而在B表中没有的集合。

sql语句中的join用法(可视化解释)-LMLPHP

sql语句中的join用法(可视化解释)-LMLPHP

RIGHTExcludingJOIN

sql语句中的join用法(可视化解释)-LMLPHP

RIGHTExcludingJOIN与LEFTExcludingJOIN相对应,产生的是B表中有而在A表中没有的集合。

sql语句中的join用法(可视化解释)-LMLPHP

sql语句中的join用法(可视化解释)-LMLPHP

OUTERExcludingJOIN

sql语句中的join用法(可视化解释)-LMLPHP

OUTERExcludingJOIN产生的是A表有而B表没有,B表有而A表没有的数据集。

sql语句中的join用法(可视化解释)-LMLPHP

sql语句中的join用法(可视化解释)-LMLPHP

最后,下面这张图整理了上面讲的所有内容。

sql语句中的join用法(可视化解释)-LMLPHP

05-07 15:15
查看更多