MySQL的左連接、右連接、內(nèi)連接用法解讀
一、寫法
1.左連接:
SELECT student.Sno,Sname,Ssex,Sbirth,Sclass,Cno,Grade FROM student LEFT OUTER JOIN sc ON student.Sno=sc.Sno;
2.右連接:
SELECT student.Sno,Sname,Ssex,Sbirth,Sclass,Cno,Grade FROM sc RIGHT OUTER JOIN student ON student.Sno=sc.Sno;
3.內(nèi)連接:
SELECT student.Sno,Sname,Ssex,Sbirth,Sclass,Cno,Grade FROM student INNER JOIN sc ON student.Sno=sc.Sno;
二、基礎(chǔ)表位置不同
1.左連接:
LEFT OUTER JOIN左邊的為基礎(chǔ)表,基礎(chǔ)表為student,從sc中查找符合ON后條件的記錄與LEFT OUTER JOIN左邊的student表中對應(yīng)記錄進行連接,對于查找不到的記錄LEFT OUTER JOIN左邊的student表中對應(yīng)記錄屬性值用NULL填充。
即使右表sc中沒有匹配的記錄,也從左表student返回所有的行,沒匹配的屬性值為NULL

2.右連接:
LEFT OUTER JOIN右邊的為基礎(chǔ)表,基礎(chǔ)表為student,從sc中查找符合ON后條件的記錄與LEFT OUTER JOIN右邊的student表中對應(yīng)記錄進行連接,對于查找不到的記錄LEFT OUTER JOIN右邊的student表中對應(yīng)記錄屬性值用NULL填充

3.內(nèi)連接:
只返回匹配的值,無匹配值返回空值(相當于取交集)
三、如下所示

通過左連接獲取數(shù)據(jù),以左表為基礎(chǔ),顯示左表所有記錄,而右表中數(shù)據(jù)只顯示與關(guān)聯(lián)條件相匹配的記錄,不匹配的屬性值以NULL填充(LEFT JOIN等價于LEFT OUTER JOIN)

通過右連接獲取數(shù)據(jù),以右表為基礎(chǔ),顯示右表所有記錄,而左表中數(shù)據(jù)只顯示與關(guān)聯(lián)條件相匹配的記錄,不匹配的屬性值以NULL填充

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Mysql5.7忘記root密碼及mysql5.7修改root密碼的方法
這篇文章主要介紹了Mysql5.7忘記root密碼及mysql5.7修改root密碼的方法的相關(guān)資料,需要的朋友可以參考下2016-01-01
jdbc調(diào)用mysql存儲過程實現(xiàn)代碼
接下來將介紹下mysql存儲過程的創(chuàng)建及調(diào)用,調(diào)用時涉及到j(luò)dbc的知識,不熟悉的朋友還要溫習(xí)下jdbc哦,話不多說看代碼,希望可以幫助到你2013-03-03
MySQL數(shù)據(jù)庫子查詢?sub?query
這篇文章主要介紹了MySQL數(shù)據(jù)庫子查詢?sub?query,子查詢指嵌套查詢下層的程序模塊,當一個查詢是另一個查詢的條件的時候,更多相關(guān)內(nèi)容需要的小伙伴可以參考一下下面文章內(nèi)容介紹2022-06-06
MySQL性能優(yōu)化之max_connections配置參數(shù)淺析
這篇文章主要介紹了MySQL性能優(yōu)化之max_connections配置參數(shù)淺析,本文著重講解了3種配置max_connections參數(shù)的方法,需要的朋友可以參考下2014-07-07
Mysql中自定義函數(shù)的創(chuàng)建和執(zhí)行方式
這篇文章主要介紹了Mysql中自定義函數(shù)的創(chuàng)建和執(zhí)行方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03
ERROR 1045 (28000): Access denied for user ''''root''''@''''
這篇文章主要介紹了Linux下數(shù)據(jù)庫報ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)實用解決方案,希望能對大家有幫助。2017-10-10

