首頁  >  文章  >  資料庫  >  mysql join是什麼意思

mysql join是什麼意思

青灯夜游
青灯夜游原創
2022-11-11 16:32:234918瀏覽

在mysql中,join的意思為“連接”,連接的主要作用是根據兩個或多個表中的列之間的關係,獲取存在於不同表中的資料。 join是指將兩個表連接起來,兩個表分別為「驅動表」和「被驅動表」。 join連接分為三類:1、內連接,可查詢出的資料是兩張表的交集;2、外連接,會先將連接的表分為基表和參考表,再以基表為依據返回滿足和不滿足條件的記錄;3、全連接,可查詢出左右兩表的所有資料。

mysql join是什麼意思

本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。

大家對join應該都不會陌生,join可以將兩個表連接起來。

join介紹

join 是指 將兩個表連接起來,兩個表分別為 驅動表 和 被驅動表。

資料庫中的join成為連接,連接的主要作用是根據兩個或多個表中的列之間的關係,獲取存在於不同表中的資料。連接分為三類:內連接、外連接、全連接

join範例

1.內部連接
內連線查詢出的資料是兩張表的交集,即上圖紅色所表示的部分。

mysql join是什麼意思

2.左外連接
左外連結如圖中紅色部分的內容,即包含左邊表的全部行(不管右邊的表中是否存在與它相符的行),和右邊表中全部相符的行。

mysql join是什麼意思

3.右外連結
右外連結如圖中紅色部分的內容,即包含右邊表格的全部行(不管左邊的表中是否存在與它相符的行),和左邊表中全部符合行。

mysql join是什麼意思

 4.左連接

#左側連接如圖中紅色部分的內容,查詢出左表獨有的資料

mysql join是什麼意思

 解析:其實上圖就是在左外連接的基礎上進行的,左外連接得到了左表,但是左表裡還包含了一部分左右表都具有相同資料的區             域,這時需要將這部分相同資料去掉,移除的條件是B.key IS NULL 

mysql join是什麼意思

#5.右連結

# 如果看懂了上面的左連接,那麼右連接大同小異,就是查詢出右表獨有的資料

mysql join是什麼意思

6.全連接(Mysql中不支援下圖寫法)

查詢出左右兩表的所有資料 

mysql join是什麼意思

但是! 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 join是什麼意思

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn