您好,登錄后才能下訂單哦!
這篇文章主要介紹“mysql中join的作用是什么”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“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的作用是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。