Mysql之如何實(shí)現(xiàn)全外連接
MySql中多表查詢只提供了內(nèi)連接,左外連接與右外連接:
table_reference {[INNER] JOIN | {LEFT|RIGHT} [OUTER] JOIN} table_reference ON conditional_expr
1】INNER JOIN ON內(nèi)連接(只寫join時(shí)默認(rèn)為內(nèi)連接)
SELECT * FROM emp e JOIN dept d ON e.deptno=d.deptno;
2】外連接
在左外連接和右外連接時(shí)都會(huì)以一張表為基表,該表的內(nèi)容會(huì)全部顯示,然后加上兩張表匹配的內(nèi)容。
如果基表的數(shù)據(jù)在另一張表沒(méi)有記錄。
那么在相關(guān)聯(lián)的結(jié)果集行中列顯示為空值(NULL)。
2.1、左外連接:顯示左表的全部記錄
SELECT * FROM emp e LEFT JOIN dept d ON e.deptno=d.deptno;
2.2、右外連接:顯示右表的全部記錄
SELECT * FROM emp e RIGHT JOIN dept d ON e.deptno=d.deptno;
2.3、全外連接
左表和右表都不做限制,所有的記錄都顯示,兩表不足的地方用null 填充;
也就是:
- 左外連接=左表全部記錄+相關(guān)聯(lián)結(jié)果
- 右外連接=右表全部記錄+相關(guān)聯(lián)結(jié)果
- 全外連接=左表全部記錄+右表全部記錄+相關(guān)聯(lián)結(jié)果=左外連接+右外連接-相關(guān)聯(lián)結(jié)果(即去重復(fù))
那么在MYSQL中誰(shuí)可以做到呢?
UNION
UNION 操作符用于合并兩個(gè)或多個(gè) SELECT 語(yǔ)句的結(jié)果集。
注釋:默認(rèn)地,UNION 操作符選取不同的值。如果允許重復(fù)的值,請(qǐng)使用 UNION ALL。
故實(shí)現(xiàn)全外連接可以使用:
SELECT * FROM emp e LEFT JOIN dept d ON e.deptno=d.deptno UNION SELECT * FROM emp e RIGHT JOIN dept d ON e.deptno=d.deptno;
注釋:以上連接全為等值連接;Oracle中全外連接可以使用full join;請(qǐng)不要弄混。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
mysql?數(shù)據(jù)備份與恢復(fù)使用詳解(超完整詳細(xì)教程)
這篇文章主要介紹了mysql?數(shù)據(jù)備份與恢復(fù)使用詳解,根據(jù)實(shí)際的業(yè)務(wù)需求,經(jīng)驗(yàn)參考可以據(jù)數(shù)據(jù)規(guī)模大小,服務(wù)器磁盤容量,大致是分為全備和增備,差異備份,本文給大家詳細(xì)講解需要的朋友可以參考下2022-11-11在Mysql存儲(chǔ)過(guò)程中使用事務(wù)實(shí)例
這篇文章主要介紹了在Mysql存儲(chǔ)過(guò)程中使用事務(wù)實(shí)例,需要的朋友可以參考下2014-04-04Mysql中日期和時(shí)間函數(shù)應(yīng)用不用求人
Mysql中日期和時(shí)間函數(shù)應(yīng)用不用求人,學(xué)習(xí)mysql的朋友可以參考下。2010-11-11MySQL出現(xiàn)2003錯(cuò)誤的三種解決方法
本文主要介紹了MySQL出現(xiàn)2003錯(cuò)誤的解決方法,主要介紹了3種方法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09MySQL 如何設(shè)計(jì)統(tǒng)計(jì)數(shù)據(jù)表
有些時(shí)候,改進(jìn)數(shù)據(jù)表查詢性能的最佳方式是在同一張數(shù)據(jù)表中冗余一些繼承的數(shù)據(jù)。然而,有些時(shí)候需要新建完全獨(dú)立的統(tǒng)計(jì)或緩存數(shù)據(jù)表,尤其是在需要反復(fù)查詢的需求情況下。如果業(yè)務(wù)允許一些時(shí)間上的誤差的話,那么這種方式會(huì)更好。2021-06-06解決Mysql5.7.17在windows下安裝啟動(dòng)時(shí)提示不成功問(wèn)題
這篇文章主要介紹了解決Mysql5.7.17在windows下安裝啟動(dòng)時(shí)提示不成功問(wèn)題,需要的朋友可以參考下2017-03-03