JOIN 連接 : 可以將2個表格連接在一起
資料表:
employee table
branch table
------------------------------------------------------------------------------------
ON 後面接條件,如果符合對等的條件就列出來
SELECT * FROM `employee`
JOIN `branch`
ON `emp_id` = `manager_id` ;
只取經理的員工id、名字、部門名稱
SELECT `emp_id`, `name`, `branch_name` FROM `employee`
JOIN `branch`
ON `emp_id` = `manager_id` ;
如果2個表格名稱重複可以在屬性前面加上表格名稱
SELECT `employee`.`emp_id`, `employee`.`name`, `branch`.`branch_name`
FROM `employee`
JOIN `branch`
ON `employee`.`emp_id` = `branch`.`manager_id` ;
當連接的時候,無論左邊的表格有沒有成立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` ;
當連接的時候,無論右邊的表格有沒有成立ON後面接的條件,都會回傳所有的資料
左邊的表格則是條件要成立,才會回傳資料,不成立則回傳NULL
SELECT `employee`.`emp_id`, `employee`.`name`, `branch`.`branch_name`
FROM `employee`
RIGHT JOIN `branch`
ON `employee`.`emp_id` = `branch`.`manager_id` ;