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)連接:
只返回匹配的值,無匹配值返回空值(相當(dāng)于取交集)
三、如下所示
通過左連接獲取數(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)文章
MySQL高級篇之索引的數(shù)據(jù)結(jié)構(gòu)詳解
在MySQL中索引屬于存儲引擎級別的概念,不同存儲引擎對索引的實現(xiàn)方式是不同的,下面這篇文章主要給大家介紹了關(guān)于MySQL高級篇之索引數(shù)據(jù)結(jié)構(gòu)的相關(guān)資料,需要的朋友可以參考下2022-05-05利用mycat實現(xiàn)mysql數(shù)據(jù)庫讀寫分離的示例
本篇文章主要介紹了利用mycat實現(xiàn)mysql數(shù)據(jù)庫讀寫分離的示例,mycat是最近很火的一款國人發(fā)明的分布式數(shù)據(jù)庫中間件,它是基于阿里的cobar的基礎(chǔ)上進行開發(fā)的,有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03MySQL數(shù)據(jù)同步出現(xiàn)Slave_IO_Running:?No問題的解決
本人最近工作中遇到了Slave_IO_Running:NO報錯的情況,通過查找相關(guān)資料終于解決了,下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)同步出現(xiàn)Slave_IO_Running:?No問題的解決方法,需要的朋友可以參考下2023-05-05MySQL數(shù)據(jù)庫的索引原理與慢SQL優(yōu)化的5大原則
這篇文章主要介紹了MySQL數(shù)據(jù)庫的索引原理與慢SQL優(yōu)化的5大原則,包括:建立索引的原則,慢查詢優(yōu)化基本步驟,慢查詢優(yōu)化案例,explain使用,需要的朋友可以參考下2023-02-02K8s 如何部署 MySQL 8.0.20 主從復(fù)制結(jié)構(gòu)
這篇文章主要介紹了K8s 如何部署 MySQL 8.0.20 主從復(fù)制結(jié)構(gòu),本次使用 OpenEBS 來作為存儲引擎,OpenEBS 是一個開源的、可擴展的存儲平臺,它提供了一種簡單的方式來創(chuàng)建和管理持久化存儲卷,需要的朋友可以參考下2024-04-04Ubuntu18.0.4下mysql 8.0.20 安裝配置方法圖文教程
這篇文章主要為大家詳細介紹了Ubuntu18.0.4下mysql 8.0.19 安裝配置方法圖文教程,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-05-05