MySQL 基本語法 (十一) JOIN

MySQL 基本語法 (十一) JOIN

更新於 發佈於 閱讀時間約 2 分鐘

JOIN 連接 : 可以將2個表格連接在一起

資料表:

employee table

raw-image

branch table

raw-image

------------------------------------------------------------------------------------

  1. 取得所有部們經理的名字

ON 後面接條件,如果符合對等的條件就列出來

 SELECT * FROM `employee`
JOIN `branch`
ON `emp_id` = `manager_id` ;
raw-image

只取經理的員工id、名字、部門名稱

 SELECT `emp_id`, `name`, `branch_name`  FROM `employee`
JOIN `branch`
ON `emp_id` = `manager_id` ;
raw-image

如果2個表格名稱重複可以在屬性前面加上表格名稱

 SELECT `employee`.`emp_id`, `employee`.`name`, `branch`.`branch_name`  
FROM `employee`
JOIN `branch`
ON `employee`.`emp_id` = `branch`.`manager_id` ;


raw-image
  1. LEFT JOIN

當連接的時候,無論左邊的表格有沒有成立ON後面接的條件,都會回傳所有的資料

右邊的表格則是條件要成立,才會回傳資料,不成立則回傳NULL

`employee` LEFT JOIN `branch`

`employee` :左邊的表格, `branch` :右邊的表格

 SELECT `employee`.`emp_id`, `employee`.`name`, `branch`.`branch_name`  
FROM `employee`
LEFT JOIN `branch`
ON `employee`.`emp_id` = `branch`.`manager_id` ;
raw-image
  1. RIGHT JOIN

當連接的時候,無論右邊的表格有沒有成立ON後面接的條件,都會回傳所有的資料

左邊的表格則是條件要成立,才會回傳資料,不成立則回傳NULL

 SELECT `employee`.`emp_id`, `employee`.`name`, `branch`.`branch_name`  
FROM `employee`
RIGHT JOIN `branch`
ON `employee`.`emp_id` = `branch`.`manager_id` ;
raw-image



avatar-img
Youna's Devlog
7會員
49內容數
這裡會放一些我寫過的 Leetcode 解題和學習新技術的筆記
留言
avatar-img
留言分享你的想法!