7种join理论
查询:
1.分析需求,确定查询的字段来自那些表 (连接查询)
2.确定使用哪种连接查询
3.确定交叉点,即相同字段
4.基于什么判断条件
三种连接查询的区别:
inner join:只会返回交集的部分
left join:以左表为基准返回左表满足的所有记录,无论右表是否为null
right join:以右表为基准返回右表满足的所有记录,无论左表是否为null
- 左连接以左表为主表,右表为从表。从从表中取出符合条件的记录与主表连接,如果主表的记录在从表没有匹配,则将该主表记录的右表项补空值
- 内连接:等值查询也就是交集
- 左外链接(A-B):先左连接,再选取只在主表中存在的数据where b.id=null
- 全连接:将左表和右表的所有记录进行匹配,如果在另外表项中不存在记录,则补空值,左连接右连接union
- 全外连接:将全连接中交集排除,可以通过左外连接右外连接union