對(duì)MySQL幾種聯(lián)合查詢的通俗解釋
表a
aid adate 1 a1 2 a2 3 a3
表b
bid bdate 1 b1 2 b2 4 b4
兩個(gè)表a、b相連接,要取出id相同的字段。
select * from a inner join b on a.aid = b.bid
這是僅取出匹配的數(shù)據(jù)。
此時(shí)的取出的是:
1 a1 b1 2 a2 b2
那么left join 指:
select * from a left join b on a.aid = b.bid
首先取出a表中所有數(shù)據(jù),然后再加上與a、b匹配的的數(shù)據(jù)。
此時(shí)的取出的是:
1 a1 b1 2 a2 b2 3 a3 空字符
同樣的也有right join
指的是首先取出b表中所有數(shù)據(jù),然后再加上與a、b匹配的的數(shù)據(jù)。
此時(shí)的取出的是:
1 a1 b1 2 a2 b2 4 空字符 b4
LEFT JOIN 或 LEFT OUTER JOIN。
左向外聯(lián)接的結(jié)果集包括 LEFT OUTER 子句中指定的左表的所有行,而不僅僅是聯(lián)接列所匹配的行。如果左表的某行在右表中沒有匹配行,則在相關(guān)聯(lián)的結(jié)果集行中右表的所有選擇列表列均為空值。
實(shí)例
"Persons" 表:
| Id_P | LastName | FirstName | Address | City |
|---|---|---|---|---|
| 1 | Adams | John | Oxford Street | London |
| 2 | Bush | George | Fifth Avenue | New York |
| 3 | Carter | Thomas | Changan Street | Beijing |
"Orders" 表:
| Id_O | OrderNo | Id_P |
|---|---|---|
| 1 | 77895 | 3 |
| 2 | 44678 | 3 |
| 3 | 22456 | 1 |
| 4 | 24562 | 1 |
| 5 | 34764 | 65 |
左連接(LEFT JOIN)實(shí)例
現(xiàn)在,我們希望列出所有的人,以及他們的定購(gòu) - 如果有的話。
您可以使用下面的 SELECT 語(yǔ)句:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons LEFT JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName
結(jié)果集:
| LastName | FirstName | OrderNo |
|---|---|---|
| Adams | John | 22456 |
| Adams | John | 24562 |
| Carter | Thomas | 77895 |
| Carter | Thomas | 44678 |
| Bush | George |
LEFT JOIN 關(guān)鍵字會(huì)從左表 (Persons) 那里返回所有的行,即使在右表 (Orders) 中沒有匹配的行。
相關(guān)文章
MySQL實(shí)現(xiàn)模糊查詢的高效方法總結(jié)(附30條優(yōu)化建議)
數(shù)據(jù)庫(kù)SQL優(yōu)化是老生常談的問題,在面對(duì)模糊查詢的時(shí)候又有什么好的優(yōu)化建議呢?這篇文章主要給大家介紹了關(guān)于MySQL實(shí)現(xiàn)模糊查詢的高效方法,文中還附30條優(yōu)化建議,需要的朋友可以參考下2024-03-03
Mysql查詢很慢卡在sending data的原因及解決思路講解
今天小編就為大家分享一篇關(guān)于Mysql查詢很慢卡在sending data的原因及解決思路講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-04-04
MySQL如何創(chuàng)建觸發(fā)器(CREATE TRIGGER)
這篇文章主要介紹了MySQL如何創(chuàng)建觸發(fā)器(CREATE TRIGGER)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
使用Kubernetes集群環(huán)境部署MySQL數(shù)據(jù)庫(kù)的實(shí)戰(zhàn)記錄
這篇文章主要介紹了使用Kubernetes集群環(huán)境部署MySQL數(shù)據(jù)庫(kù),主要包括編寫 mysql.yaml文件,執(zhí)行如下命令創(chuàng)建,通過相關(guān)命令查看創(chuàng)建結(jié)果,對(duì)Kubernetes部署MySQL數(shù)據(jù)庫(kù)的過程感興趣的朋友一起看看吧2022-05-05
Navicat for MySql可視化導(dǎo)入CSV文件
這篇文章主要為大家詳細(xì)介紹了Navicat for MySql可視化導(dǎo)入CSV文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05
MySQL數(shù)據(jù)表設(shè)計(jì)之自動(dòng)增長(zhǎng)的實(shí)現(xiàn)
本文主要介紹了MySQL數(shù)據(jù)表設(shè)計(jì)之自動(dòng)增長(zhǎng)的實(shí)現(xiàn),包括創(chuàng)建數(shù)據(jù)表時(shí)設(shè)置自動(dòng)增長(zhǎng)和修改數(shù)據(jù)表時(shí)添加自動(dòng)增長(zhǎng),具有一定的參考價(jià)值,感興趣的可以了解一下2025-03-03
利用MySQL統(tǒng)計(jì)一列中不同值的數(shù)量方法示例
這篇文章主要給大家介紹了利用MySQL統(tǒng)計(jì)一列中不同值的數(shù)量的幾種解決方法,每種方法都給了詳細(xì)的示例代碼供大家參考學(xué)習(xí),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面跟隨小編一起來看看吧。2017-04-04

