一、innerjoin
innerjoin总结来说就是 ,如A知道通往B如何走;B知道通往C如何走;但是A不知道通往C如何走,但是A可以通过B获得去往C的通往方式。。
首先,假设有A,B两张表,结构及数据如下:
INNERJOIN
INNERJOIN产生的结果集是A表和B表的交集。
代码如下:
select <select_list>
结果如下:
LEFTJOIN
LEFTJOIN产生A表的完全集,而B表中匹配的则有值,没有匹配的则以NULL填充。
RIGHTJOIN
RIGHTJOIN和LEFTJOIN相对应,产生的是B表的完全集,而A表中匹配的则有值,没有匹配的则以NULL填充。
OUTERJOIN
OUTERJOIN也可以写成FULLOUTERJOIN,产生的是A表和B表的并集。没有匹配的记录,仍是以NULL填充。
LEFTExcludingJOIN
LEFTExcludingJOIN产生在A表中有而在B表中没有的集合。
RIGHTExcludingJOIN
RIGHTExcludingJOIN与LEFTExcludingJOIN相对应,产生的是B表中有而在A表中没有的集合。
OUTERExcludingJOIN
OUTERExcludingJOIN产生的是A表有而B表没有,B表有而A表没有的数据集。
最后,下面这张图整理了上面讲的所有内容。