最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

mysql左連接,右連接,內(nèi)連接學習體會

來源:懂視網(wǎng) 責編:小采 時間:2020-11-09 15:36:01
文檔

mysql左連接,右連接,內(nèi)連接學習體會

mysql左連接,右連接,內(nèi)連接學習體會:聲明:本文為本人在分析學習了其他網(wǎng)友的博文后,得出的一些體會。編寫本文的目的,一則,分享自己的學習體會,希望通過此文與其他正在學習數(shù)據(jù)庫的網(wǎng)友互相交流,共同學習;二則,記錄下學習中的點滴收獲,供以后溫習。本人為數(shù)據(jù)庫初學者,有很多觀點可
推薦度:
導讀mysql左連接,右連接,內(nèi)連接學習體會:聲明:本文為本人在分析學習了其他網(wǎng)友的博文后,得出的一些體會。編寫本文的目的,一則,分享自己的學習體會,希望通過此文與其他正在學習數(shù)據(jù)庫的網(wǎng)友互相交流,共同學習;二則,記錄下學習中的點滴收獲,供以后溫習。本人為數(shù)據(jù)庫初學者,有很多觀點可

聲明:本文為本人在分析學習了其他網(wǎng)友的博文后,得出的一些體會。編寫本文的目的,一則,分享自己的學習體會,希望通過此文與其他正在學習數(shù)據(jù)庫的網(wǎng)友互相交流,共同學習;二則,記錄下學習中的點滴收獲,供以后溫習。本人為數(shù)據(jù)庫初學者,有很多觀點可

聲明:本文為本人在分析學習了其他網(wǎng)友的博文后,得出的一些體會。編寫本文的目的,一則,分享自己的學習體會,希望通過此文與其他正在學習數(shù)據(jù)庫的網(wǎng)友互相交流,共同學習;二則,記錄下學習中的點滴收獲,供以后溫習。本人為數(shù)據(jù)庫初學者,有很多觀點可能存在錯誤,若諸位網(wǎng)友有不同觀點,望不吝指教。

首先引用一下這位網(wǎng)友的博文,本人從此博文中受益良多,感謝此位網(wǎng)友的分享。

http://hi.baidu.com/woaidelphi/item/d96be15c3ce2c1cbd2e10c6c

author:華夏之星
QQ:1019822077
email:woai_php@sina.com

內(nèi)連接: 只連接匹配的行
左外連接: 包含左邊表的全部行(不管右邊的表中是否存在與它們匹配的行),以及右邊表中全部匹配的行
右外連接: 包含右邊表的全部行(不管左邊的表中是否存在與它們匹配的行),以及左邊表中全部匹配的行
注:此博文中還講述了其他連接方式,鑒于本人剛開始學習數(shù)據(jù)庫,因此,僅研究較為普遍的3中方式。

內(nèi)連接與左右連接

在網(wǎng)上看到很多講述內(nèi)連接和左右連接的博文,一直認為這是3類連接方式。但看完這篇博文后,認識到,其實這3中連接方式,實際可以分為

兩類。一種內(nèi)連接,一種外連接。而外連接又可分為左連接和右連接。

內(nèi)連接的匹配方式

------------------------------------------------------------------------------再次引用-----------------------------------------------------------------------

舉個例子吧。
表A
id name
1 張
2 李
3 王

表B
id address A_id
1 北京 1
2 上海 3
3 南京 10

/******************************** inner join 內(nèi)連接*****************************************/
排他性:A,B表中至少有1個匹配時,才返回行。兩表的交集
SQL語句如下:
select A.name,B.address from A
inner join B
on A.id = B.A_id

查詢結(jié)果為:
name address
張 北京
王 上海

------------------------------------------------------------------------------引用結(jié)束-----------------------------------------------------------------------

此sql查詢語句可按如下翻譯:使用內(nèi)連接的方式,選擇出A中id與B中A_id相等的A表和B表中的行,然后將A表中行的name字段和B表中的address字段組合成行,作為查詢結(jié)果。

具體過程可以描述為,對于A表中id為1的行(及表中第一行),與B表中的每一行都進行匹配,找到與B表中A_id字段相同的行(本例中B表的第一行便滿足條件)。由于本例中,A表的第一行和B表的第一行便滿足SQL語句的查詢條件,因此,查詢結(jié)果集的第一條結(jié)果為A表第一行的name(張)和B表第一行的address(北京)。然后,對A表的第二行進行匹配,遍歷B表的所有行,沒有找到滿足與A表id(2)相同的A_id的行,因此。接著為A表的第3行,在B表中尋找匹配的行。遍歷B表中所有的行,發(fā)現(xiàn)第二行的A_id(3)與A表id(3)匹配,因此,匹配成功,輸出結(jié)果。自此,A表的所有行的查詢了,本次SQL查詢結(jié)束。結(jié)果有兩條匹配的結(jié)果。

左右連接的匹配過程

--------------------------------------------------------------------------接著引用---------------------------------------------------------------

表A
id name
1 張
2 李
3 王

表B
id address A_id
1 北京 1
2 上海 3
3 南京 10

/******************************** left join 左連接*****************************************/
包容性:A表包容B表,左連接左表是全的.(left join 或 left outer join )
SQL語句如下:
SELECT A.name, B.address
FROM A
LEFT JOIN B ON A.id = B.A_id
查詢結(jié)果為:
name address
張 北京
李 NULL
王 上海
/******************************** right join 右連接*****************************************/
包容性:B表包容A表,右連接右表是全的.(right join 或 right outer join )
SQL語句如下:
SELECT A.name, B.address
FROM A
RIGHT JOIN B ON A.id = B.A_id
查詢結(jié)果為:
name address
張 北京
王 上海
NULL 南京

------------------------------------------------------------------------------引用結(jié)束-----------------------------------------------------------------------

左右連接的匹配過程與內(nèi)連接的匹配過程相同,不同的是,左右連接查詢時,SQL語句中,指定的基準表(right join 或left join 后的表)字段

無論是否在另一張表中有與之匹配的行,基準表中的字段均會輸出。如上例左連接中的第二行,李(左連接基準表指定的查詢字段)和右連接中的

第3行南京(右連接基準表中指定的查詢字段)

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

mysql左連接,右連接,內(nèi)連接學習體會

mysql左連接,右連接,內(nèi)連接學習體會:聲明:本文為本人在分析學習了其他網(wǎng)友的博文后,得出的一些體會。編寫本文的目的,一則,分享自己的學習體會,希望通過此文與其他正在學習數(shù)據(jù)庫的網(wǎng)友互相交流,共同學習;二則,記錄下學習中的點滴收獲,供以后溫習。本人為數(shù)據(jù)庫初學者,有很多觀點可
推薦度:
標簽: 連接 本人 聲明
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top