Mysql關(guān)聯(lián)查詢的幾種實(shí)現(xiàn)方式
在關(guān)系型數(shù)據(jù)庫(kù)中,要進(jìn)行多表查詢,一般都會(huì)使用join連接。
join連接的本質(zhì)其實(shí)類似與集合的交并操作,Mysql實(shí)現(xiàn)關(guān)聯(lián)查詢常見的幾種方式如下;
本次測(cè)試表結(jié)構(gòu)和數(shù)據(jù):
- A表

- B表

1、左連接
概念說(shuō)明:
左連接將左表A作為主表,右表B作為從表,左表作為外層循環(huán),在右表中進(jìn)行匹配,如果左表的記錄在右表中沒(méi)有匹配,則將該左表記錄的右表項(xiàng)補(bǔ)空值;

語(yǔ)法&測(cè)試:
語(yǔ)法關(guān)鍵字為 LEFT JOIN,影響行數(shù) 4 行;

2、右連接
概念說(shuō)明:
右連接將右表B作為主表,左表A作為從表,右表作為外層循環(huán),在左表中進(jìn)行匹配,如果右表的記錄在左表中沒(méi)有匹配,則將該右表記錄的左表項(xiàng)補(bǔ)空值;

語(yǔ)法&測(cè)試:
語(yǔ)法關(guān)鍵字為 RIGHT JOIN,影響行數(shù) 4 行;

3、內(nèi)連接
概念說(shuō)明:
內(nèi)連接將左表A和右表B對(duì)于條件相匹配的項(xiàng)進(jìn)行組合,在結(jié)果中只會(huì)出現(xiàn)同時(shí)在左表和右表出現(xiàn)的項(xiàng);

語(yǔ)法&測(cè)試:
語(yǔ)法關(guān)鍵字為 INNER JOIN 或 JOIN(JOIN等價(jià)于INNER JOIN),影響行數(shù) 3 行;

4、全連接
概念說(shuō)明:
全外連接將左表A和右表B的所有記錄進(jìn)行匹配,如果在另外表項(xiàng)中不存在記錄,則補(bǔ)空值;

語(yǔ)法&測(cè)試:
語(yǔ)法關(guān)鍵字為 UNION 用來(lái)組合左連接和右連接,影響行數(shù) 5 行;

5、左外連接
概念說(shuō)明:
左外連接選擇將左表A作為主表,右表B作為從表,循環(huán)遍歷右表,查找與條件滿足的項(xiàng),如果在右表中沒(méi)有匹配的項(xiàng),則補(bǔ)空值,并且在結(jié)果集中選擇只在左表中存在的數(shù)據(jù);

語(yǔ)法&測(cè)試:
左表A獨(dú)有的數(shù)據(jù),影響行數(shù) 1 行;

6、右外連接
概念說(shuō)明:
右外連接選擇將右表作為主表,左表作為從表,循環(huán)遍歷左表,查找與join條件滿足的項(xiàng),如果在左表中沒(méi)有匹配的項(xiàng),則補(bǔ)空值,并且在結(jié)果集中選擇只在右表中存在的數(shù)據(jù);

語(yǔ)法&測(cè)試:
右表B獨(dú)有的數(shù)據(jù),影響行數(shù) 1 行;

7、全外連接
概念說(shuō)明:
全外連接將全連接中左右表相交的部分排除;

語(yǔ)法&測(cè)試:
左表A和右表B獨(dú)有的數(shù)據(jù),影響行數(shù) 2 行;

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- mysql中的跨庫(kù)關(guān)聯(lián)查詢方法
- 淺談mysql中多表不關(guān)聯(lián)查詢的實(shí)現(xiàn)方法
- MySQL多表關(guān)聯(lián)查詢方式及實(shí)際應(yīng)用
- MySQL詳細(xì)講解多表關(guān)聯(lián)查詢
- mysql一對(duì)多關(guān)聯(lián)查詢分頁(yè)錯(cuò)誤問(wèn)題的解決方法
- mysql?使用join進(jìn)行多表關(guān)聯(lián)查詢的操作方法
- MySQL多表關(guān)聯(lián)查詢相關(guān)練習(xí)題
- MySQL關(guān)聯(lián)查詢優(yōu)化實(shí)現(xiàn)方法詳解
- MySQL Join關(guān)聯(lián)查詢的幾種實(shí)現(xiàn)方式優(yōu)化小結(jié)
相關(guān)文章
使用logrotete定時(shí)切割mysql的慢日志操作
本文介紹了如何在Linux系統(tǒng)中使用logrotate工具對(duì)MySQL慢查詢?nèi)罩具M(jìn)行自動(dòng)輪轉(zhuǎn)和管理配置,包括創(chuàng)建配置文件、設(shè)置輪轉(zhuǎn)頻率、文件命名、權(quán)限、執(zhí)行腳本以及測(cè)試配置的方法,感興趣的朋友一起看看吧2025-03-03
MYSQL代碼 定期備份Mysql數(shù)據(jù)庫(kù)
Mysql自動(dòng)備份腳本供大家參考,實(shí)現(xiàn)了定期備份Mysql數(shù)據(jù)庫(kù),并且可以選在在每周的一天做指定目錄下文件的全面?zhèn)浞?,備份文件自?dòng)上傳到你指定的FTP上,保證了備份的可靠性。2009-04-04
MySQL 給用戶添加 ALTER VIEW 的權(quán)限的步驟
在 MySQL 中,用戶權(quán)限的管理是非常重要的,以確保數(shù)據(jù)庫(kù)安全性和數(shù)據(jù)完整性,這篇文章主要介紹了MySQL 給用戶添加 ALTER VIEW 的權(quán)限,需要的朋友可以參考下2024-05-05
MySQL query_cache_type 參數(shù)與使用詳解
這篇文章主要介紹了MySQL query_cache_type參數(shù)介紹,需要的朋友可以參考下2021-07-07

