##### 举个例子
-------------------------------------------------
a表 id name b表 id job parent_id
1 张3 1 23 1
2 李四 2 34 2
3 王武 3 34 4
a.id同parent_id 存在关系
--------------------------------------------------
//进行INNER JOIN
SELECT * FROM (a INNER JOIN b ON a.id=b.parent_id);
最终输出的结果为:
a.id a.name b.id b.job b.parent_id
1 张三 1 23 1
2 李四 2 34 2
//因为a.id=3在b中不存在对应的值,b.parent_id=4再a中也不存在,因此都被抛弃
-------------------------------------------------
a表 id name b表 id job parent_id
1 张3 1 23 1
2 李四 2 34 2
3 王武 3 34 4
a.id同parent_id 存在关系
--------------------------------------------------
//进行LEFT JOIN
SELECT * FROM (a LEFT JOIN b ON a.id=b.parent_id);
最终输出的结果为:
a.id a.name b.id b.job b.parent_id
1 张三 1 23 1
2 李四 2 34 2
3 王五 null null null
//因为a.id=3在b中不存在对应的值,所以对于左外连接来说该行对应的右表中的数据的值都为null
##### 文章摘自:http://www.blogjava.net/zolly/archive/2007/10/23/SQLJION.html
原文:https://www.cnblogs.com/jpfss/p/11244459.html