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

时间:2022-03-12 09:32:44

一、innerjoin

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

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

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

INNERJOIN

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

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

代码如下:

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

select <select_list>

结果如下:

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

LEFTJOIN

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

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

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

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

RIGHTJOIN

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

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

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

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

OUTERJOIN

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

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

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

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

LEFTExcludingJOIN

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

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

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

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

RIGHTExcludingJOIN

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

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

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

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

OUTERExcludingJOIN

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

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

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

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

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

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