MySQL JOIN 語法

想在複習一次。

簡述

關聯式資料庫最重要的就是「關聯」,當我們要把兩個 table 用某個欄位給關聯起來時就會用到 JOIN 的語法,在那之前先認識一下 JOIN 的種類:

  • (INNER) JOIN 交集
  • LEFT JOIN 合併到左邊的 table
  • RIGHT JOIN 合併到右邊的 table
  • OUTER JOIN 聯集

參考這張圖會好理解很多:

example

(INNER) JOIN

example

在 Users 的 ID 有 1 2 3 4 5,Likes 的 User ID 有 3 1 1 6 4INNER JOIN 就是把兩個 table 有對應到的關聯欄位留下來

上面的例子是 1 3 4,最後只會把出現 1 3 4 的欄位合在一起。

LEFT JOIN(最常用)

left

在 Users 的 ID 有 1 2 3 4 5,Likes 的 User ID 有 3 1 1 6 4LEFT JOIN 就是把左邊的 table 全部留下,右邊只留下有對應的欄位

所以 Users 會全部留下,而 Likes 只留下 3 1 1 4,沒對應的地方就用 null 來填。

RIGHT JOIN

right

在 Users 的 ID 有 1 2 3 4 5,Likes 的 User ID 有 3 1 1 6 4RIGHT JOIN 就是把右邊的 table 全部留下,左邊只留下有對應的欄位

所以 Likes 會全部留下,而 Users 只留下 1 3 4,沒對應的地方就用 null 來填。

OUTER JOIN

outer

在 Users 的 ID 有 1 2 3 4 5,Likes 的 User ID 有 3 1 1 6 4OUTER JOIN 就是把不管有沒有關聯都留下

所以 Users 跟 Likes 會全部留下,沒對應的地方就用 null 來填。

MySQL 中的 soft delete 與 hard delete mentor-program-day62
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×