所谓"连接",就是两张表根据关联字段,组合成一个数据集。问题是,两张表的关联字段的值往往是不一致的,如果关联字段不匹配,怎么处理?比如,表 A 包含张三和李四,表 B 包含李四和王五,匹配的只有李四这一条记录。
很容易看出,一共有四种处理方法。
- 只返回两张表匹配的记录,这叫内连接(inner join)。
- 返回匹配的记录,以及表 A 多余的记录,这叫左连接(leftjoin)。
- 返回匹配的记录,以及表 B 多余的记录,这叫右连接(right join)。
- 返回匹配的记录,以及表 A 和表 B各自的多余记录,这叫全连接(full join)。