1. 程式人生 > >圖解LEFT JOIN、RIGHT JOIN與JOIN的區別

圖解LEFT JOIN、RIGHT JOIN與JOIN的區別

如圖:

T1表
ID NAME AGE
1 張三 11
2 李四 12
3 王五 13

 

T2表
ID NAME COURSE
3 張三 語文
4 張三 數學
5 馬六 英語

 

1、ID關聯(LEFT JOIN)

SELECT * FROM T1 LEFT JOIN T2 ON T1.ID=T2.ID

結果如圖:

聯絡兩個表:

分析:以T1表(左邊)為主表,查詢與T1表有相同ID的資料。

2、ID關聯(RIGHT JOIN)

SELECT * FROM T1 RIGHT JOIN T2 ON T1.ID=T2.ID

結果如圖:

聯絡兩個表:

分析:以T2表(右邊)為主表,查詢與T2表有相同ID的資料。

轉換:即

SELECT * FROM T1 RIGHT JOIN T2 ON T1.ID=T2.ID

等同於

SELECT * FROM T2 LEFT JOIN T1 ON T1.ID=T2.ID

查詢出來的資料一樣,但呈現方式不同,如下圖:

3、ID關聯(JOIN)

SELECT * FROM T1 JOIN T2 ON T1.ID=T2.ID

等同於

SELECT * FROM T2 JOIN T1 ON T1.ID=T2.ID

結果如圖:

分析:查詢兩個有相同ID的的資料。

------------------------------------------------------這時候如果換一種方式呢,比如以NAME關聯----------------------------------------------

①NAME關聯(LEFT JOIN)

SELECT * FROM T1 JOIN T2 ON T1.NAME=T2.NAME

結果如圖:

聯絡兩個表:

分析:以T1表(左邊)為主表,查詢與T1表有相同NAME的資料(與以ID關聯原理一樣,LEFT JOIN與JOIN就不一一列出來了)。