在mysql中,join的意思為“連接”,連接的主要作用是根據兩個或多個表中的列之間的關係,獲取存在於不同表中的資料。 join是指將兩個表連接起來,兩個表分別為「驅動表」和「被驅動表」。 join連接分為三類:1、內連接,可查詢出的資料是兩張表的交集;2、外連接,會先將連接的表分為基表和參考表,再以基表為依據返回滿足和不滿足條件的記錄;3、全連接,可查詢出左右兩表的所有資料。
本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。
大家對join應該都不會陌生,join可以將兩個表連接起來。
join介紹
join 是指 將兩個表連接起來,兩個表分別為 驅動表 和 被驅動表。
資料庫中的join成為連接,連接的主要作用是根據兩個或多個表中的列之間的關係,獲取存在於不同表中的資料。連接分為三類:內連接、外連接、全連接
join範例
1.內部連接
內連線查詢出的資料是兩張表的交集,即上圖紅色所表示的部分。
2.左外連接
左外連結如圖中紅色部分的內容,即包含左邊表的全部行(不管右邊的表中是否存在與它相符的行),和右邊表中全部相符的行。
3.右外連結
右外連結如圖中紅色部分的內容,即包含右邊表格的全部行(不管左邊的表中是否存在與它相符的行),和左邊表中全部符合行。
4.左連接
#左側連接如圖中紅色部分的內容,查詢出左表獨有的資料
解析:其實上圖就是在左外連接的基礎上進行的,左外連接得到了左表,但是左表裡還包含了一部分左右表都具有相同資料的區 域,這時需要將這部分相同資料去掉,移除的條件是B.key IS NULL
#5.右連結
# 如果看懂了上面的左連接,那麼右連接大同小異,就是查詢出右表獨有的資料
6.全連接(Mysql中不支援下圖寫法)
查詢出左右兩表的所有資料
但是! MySQL中並不支援這種寫法,所以只能透過別的方法。
A、B的所有也就是A的獨有、B的獨有和A、B的共同擁有的資料
Mysql可以使用:select * from Table A left join Table B on A.Key = B.Key (找出A的所有)
1# ## select * from Table A right join Table B on A.Key = B.Key (找出B的所有)
7.全外連結(
Mysql中不支援下圖寫法)左右表的共有資料以外的資料查詢
#篩選出對A表而言B為空,對於B表而言A為空的
MySQL中也不支援這種寫法,所以只能透過別的方法。 其實全外連結也就是A的獨有 B的獨有Mysql語法: select * from Table A left join Table B on A.Key = B.Key where B.Key is null (找出A的獨有)
union 時重複下 select * from Table A right join Table B on A.Key = B.Key where A.Key is null (找出B的獨有)
【相關推薦:mysql影片教學】
以上是mysql join是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!