1. 程式人生 > 資料庫 >資料庫的JOIN

資料庫的JOIN

七種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則忽視該記錄