在通用Excel选择数据源的时候,会发现有三个选项:“内连接(默认)”、“左连接”、“全连接”,这里就解释一下这三个选项之间的区别:
1、内连接(INNER JOIN)
典型的联接运算,使用像 = 或 <> 之类的比较运算符,包括相等联接和自然联接。
内连接使用比较运算符根据每个表共有的列的值匹配两个表中的行。例如,检索 students和courses表中学生标识号相同的所有行。
2、左连接(LEFT JOIN或LEFT OUTER JOIN)
左连接的结果集包括LEFT OUTER子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
3、全连接(FULL JOIN 或 FULL OUTER JOIN)
返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
具体区别,如下:

1、内连接:select a.*, b.* from a inner join b on a.id=b.postid
结果是:
ID | Name | ID2 | Job | Postid |
1 | 张三 | 1 | 业务员 | 1 |
2 | 李四 | 2 | 经理 | 2 |
2、左连接:select a.*,b.* from a left join b on a.id=b.postid
ID | Name | ID2 | Job | Postid |
1 | 张三 | 1 | 业务员 | 1 |
2 | 李四 | 2 | 经理 | 2 |
3 | 王五 | null | null | null |
3、全连接:select a.*, b.* from a full join b on a.id=b.postid
ID | Name | ID2 | Job | Postid |
1 | 张三 | 1 | 业务员 | 1 |
2 | 李四 | 2 | 经理 | 2 |
null | null | 3 | 董事长 | 4 |
3 | 王五 | null | null | null |
清楚了各种区别,我们在通用Excel开发过程中,就能灵活运用这种功能,保证数据的准确性。