七种JOIN:
- A INNER JOIN B,等同于JOIN,A 和 B的交集
- A FULL JOIN B,A 和 B的并集
- A LEFT JOIN B,A 和 B的交集 以及 A的集合
- A RIGHT JOIN B,A 和 B的交集 以及 B的集合
- A LEFT JOIN EXCLUDING INNER JOIN B, A的集合去除A 和 B的交集
- A RIGHT JOIN EXCLUDING INNER JOIN B, B的集合去除A 和 B的交集
- A FULL JOIN EXCLUDING INNER JOIN B, A 和 B的并集去除 A 和 B的交集
JOIN中的ON当于两个表的拼接点
- 如果左右两表存在两条记录对应那个拼接点的值相等,就将这两条记录拼接成新表的一条记录
- 如果一个表中一条记录的拼接点和另一个表中多条记录的拼接点的值相等,将这条记录和另外多条记录分别拼接成新的多条记录,添加到新表中
- 如果左表的记录与右表没有对应的拼接点,若为LEFT JOIN或FULL JOIN,将该记录直接添加到新表中,右表的值用null补全,若为RIGHT JOIN 则忽视该记录
- 如果右表的记录与左表没有对应的拼接点,若为RIGHT JOIN或FULL JOIN,将该记录直接添加到新表中,左表的值用null补全,若为LEFT JOIN则忽视该记录