共計 1409 個字符,預計需要花費 4 分鐘才能閱讀完成。
這篇文章主要介紹“mysql 中 join 的作用是什么”的相關知識,丸趣 TV 小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“mysql 中 join 的作用是什么”文章能幫助大家解決問題。
在 mysql 中,join 的意思為“連接”,連接的主要作用是根據兩個或多個表中的列之間的關系,獲取存在于不同表中的數據。join 是指將兩個表連接起來,兩個表分別為“驅動表”和“被驅動表”。join 連接分為三類:1、內連接,可查詢出的數據是兩張表的交集;2、外連接,會先將連接的表分為基表和參考表,再以基表為依據返回滿足和不滿足條件的記錄;3、全連接,可查詢出左右兩表的所有數據。
大家對 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 的所有)
union (去重)
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 中 join 的作用是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注丸趣 TV 行業資訊頻道,丸趣 TV 小編每天都會為大家更新不同的知識點。