通用Excel系统中“内连接”、“左连接”和“全连接”的概念

在通用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

结果是:

IDNameID2JobPostid
1张三1业务员1
2李四2经理2

2、左连接:select a.*,b.* from a left join b on a.id=b.postid

IDNameID2JobPostid
1张三1业务员1
2李四2经理2
3王五nullnullnull

3、全连接:select a.*, b.* from a full join b on a.id=b.postid

IDNameID2JobPostid
1张三1业务员1
2李四2经理2
null null 3董事长4
3王五 null null null

清楚了各种区别,我们在通用Excel开发过程中,就能灵活运用这种功能,保证数据的准确性。

作者: Hugh

Welcome to Wan's world~