圖解Mysql中的LEFT?JOIN、RIGHT?JOIN與JOIN的區(qū)別
圖解Mysql中的LEFT JOIN、RIGHT JOIN與JOIN的區(qū)別
如圖:
T1表
ID | NAME | COURSE |
1 | 張三 | 11 |
2 | 李四 | 12 |
3 | 王五 | 13 |
T2表
ID | NAME | COURSE |
3 | 張三 | 語文 |
4 | 張三 | 數(shù)學(xué) |
5 | 馬六 | 英語 |
1、ID關(guān)聯(lián)(LEFT JOIN)
SELECT * FROM T1 LEFT JOIN T2 ON T1.ID=T2.ID
結(jié)果如圖:
聯(lián)系兩個表:
分析:以T1表(左邊)為主表,查詢與T1表有相同ID的數(shù)據(jù)。
2、ID關(guān)聯(lián)(RIGHT JOIN)
SELECT * FROM T1 RIGHT JOIN T2 ON T1.ID=T2.ID
結(jié)果如圖:
聯(lián)系兩個表:
分析:以T2表(右邊)為主表,查詢與T2表有相同ID的數(shù)據(jù)。
轉(zhuǎn)換:即
SELECT * FROM T1 RIGHT JOIN T2 ON T1.ID=T2.ID
等同于
SELECT * FROM T2 LEFT JOIN T1 ON T1.ID=T2.ID
查詢出來的數(shù)據(jù)一樣,但呈現(xiàn)方式不同,如下圖:
3、ID關(guān)聯(lián)(JOIN)
SELECT * FROM T1 JOIN T2 ON T1.ID=T2.ID
等同于
SELECT * FROM T2 JOIN T1 ON T1.ID=T2.ID
結(jié)果如圖:
分析:查詢兩個有相同ID的的數(shù)據(jù)。
這時候如果換一種方式呢,比如以NAME關(guān)聯(lián)
①NAME關(guān)聯(lián)(LEFT JOIN)
SELECT * FROM T1 JOIN T2 ON T1.NAME=T2.NAME
結(jié)果如圖:
聯(lián)系兩個表:
分析:以T1表(左邊)為主表,查詢與T1表有相同NAME的數(shù)據(jù)(與以ID關(guān)聯(lián)原理一樣,LEFT JOIN與JOIN就不一一列出來了)。
到此這篇關(guān)于圖解Mysql中的LEFT JOIN、RIGHT JOIN與JOIN的區(qū)別的文章就介紹到這了,更多相關(guān)Mysql的LEFT JOIN、RIGHT JOIN與JOIN內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL數(shù)據(jù)庫中sql表設(shè)計的注意事項
實際開發(fā)中一個項目通常需要很多張表才能完成,這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫中sql表設(shè)計的注意事項,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-05-05詳解MySQL?substring()?字符串截取函數(shù)
MySQL 查詢數(shù)據(jù)有時候需要對數(shù)據(jù)項進行日期格式化或截取特定部分的操作,當需要對字符串進行截取加工時用到了 substring() 函數(shù),這篇文章主要介紹了MySQL?substring()?字符串截取函數(shù),需要的朋友可以參考下2022-07-07