0%

[資料庫] Lesson 5 結合查詢 JOIN

結合查詢通常使用在兩張以上有關聯的資料表上,依查詢目的不同,分為內部結合查詢(Inner join)和外部結合查詢(Out join)

Inner Join 內部結合查詢

基本就是 FROM WHERE 語法的另一種表現,查詢的結果也和 FROM WHERE 一樣。
內部結合查詢的結果只會出現所有資料表共有的內容。

1
2
3
4
5
6
7
8
9
10
SELECT *
FROM `tableA`
INNER JOIN `tableB` ON `tableA`.`id` = `tableB`.`A_id`

等同於

SELECT *
FROM `tableA` , `tableB`
WHERE `tableA`.`id` = `tableB`.`A_id`

Out Join 外部結合查詢

外部結合查詢的目的在於固定一張資料表的內容,結合的另一張表即使沒有對應的資料,最後也會留下來固定資料表的所有內容。
外部結合查詢又依照要保留的資料表不同分為右結合及左結合

Left Join

1
2
3
SELECT *
FROM `tableA`
LEFT JOIN `tableB` ON `tableA`.`id` = `tableB`.`A_id`

Right Join

1
2
3
SELECT *
FROM `tableA`
RIGHT JOIN `tableB` ON `tableA`.`id` = `tableB`.`B_id`