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表中對(duì)應(yīng)記錄進(jìn)行連接,對(duì)于查找不到的記錄LEFT OUTER JOIN左邊的student表中對(duì)應(yīng)記錄屬性值用NULL填充。
即使右表sc中沒有匹配的記錄,也從左表student返回所有的行,沒匹配的屬性值為NULL
2.右連接:
LEFT OUTER JOIN右邊的為基礎(chǔ)表,基礎(chǔ)表為student,從sc中查找符合ON后條件的記錄與LEFT OUTER JOIN右邊的student表中對(duì)應(yīng)記錄進(jìn)行連接,對(duì)于查找不到的記錄LEFT OUTER JOIN右邊的student表中對(duì)應(yīng)記錄屬性值用NULL填充
3.內(nèi)連接:
只返回匹配的值,無匹配值返回空值(相當(dāng)于取交集)
三、如下所示
通過左連接獲取數(shù)據(jù),以左表為基礎(chǔ),顯示左表所有記錄,而右表中數(shù)據(jù)只顯示與關(guān)聯(lián)條件相匹配的記錄,不匹配的屬性值以NULL填充(LEFT JOIN等價(jià)于LEFT OUTER JOIN)
通過右連接獲取數(shù)據(jù),以右表為基礎(chǔ),顯示右表所有記錄,而左表中數(shù)據(jù)只顯示與關(guān)聯(lián)條件相匹配的記錄,不匹配的屬性值以NULL填充
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL高級(jí)篇之索引的數(shù)據(jù)結(jié)構(gòu)詳解
在MySQL中索引屬于存儲(chǔ)引擎級(jí)別的概念,不同存儲(chǔ)引擎對(duì)索引的實(shí)現(xiàn)方式是不同的,下面這篇文章主要給大家介紹了關(guān)于MySQL高級(jí)篇之索引數(shù)據(jù)結(jié)構(gòu)的相關(guān)資料,需要的朋友可以參考下2022-05-05利用mycat實(shí)現(xiàn)mysql數(shù)據(jù)庫讀寫分離的示例
本篇文章主要介紹了利用mycat實(shí)現(xiàn)mysql數(shù)據(jù)庫讀寫分離的示例,mycat是最近很火的一款國(guó)人發(fā)明的分布式數(shù)據(jù)庫中間件,它是基于阿里的cobar的基礎(chǔ)上進(jìn)行開發(fā)的,有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03MySQL數(shù)據(jù)同步出現(xiàn)Slave_IO_Running:?No問題的解決
本人最近工作中遇到了Slave_IO_Running:NO報(bào)錯(cuò)的情況,通過查找相關(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 來作為存儲(chǔ)引擎,OpenEBS 是一個(gè)開源的、可擴(kuò)展的存儲(chǔ)平臺(tái),它提供了一種簡(jiǎn)單的方式來創(chuàng)建和管理持久化存儲(chǔ)卷,需要的朋友可以參考下2024-04-04Ubuntu18.0.4下mysql 8.0.20 安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了Ubuntu18.0.4下mysql 8.0.19 安裝配置方法圖文教程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05