最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

inner join和left join之間的區(qū)別詳解

 更新時(shí)間:2021年01月15日 14:58:55   作者:十七年的夏天  
這篇文章主要給大家介紹了關(guān)于inner join和left join之間區(qū)別的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

關(guān)于inner join 與 left join 之間的區(qū)別,以前以為自己搞懂了,今天從前端取參數(shù)的時(shí)候發(fā)現(xiàn)不是預(yù)想中的結(jié)果,才知道問(wèn)題出在inner join 上了。

需求是從數(shù)據(jù)庫(kù)查數(shù)據(jù),在前端以柱形圖的形式展現(xiàn)出來(lái),查到的數(shù)據(jù)按行業(yè)分組,顯示每個(gè)行業(yè)的戶數(shù)及戶數(shù)占比,涉及到的字段有A表的用戶數(shù)、總用戶數(shù)和B表的行業(yè)名稱。本來(lái)是不管查不查的到數(shù)據(jù),在X軸都應(yīng)該顯示行業(yè)名稱的,結(jié)果是X、Y軸都沒有任何數(shù)據(jù)顯示。問(wèn)題就是我用錯(cuò)了聯(lián)結(jié)方式。

一、sql的left join 、right join 、inner join之間的區(qū)別

  left join(左聯(lián)接) 返回包括左表中的所有記錄和右表中聯(lián)結(jié)字段相等的記錄

  right join(右聯(lián)接) 返回包括右表中的所有記錄和左表中聯(lián)結(jié)字段相等的記錄

  inner join(等值連接) 只返回兩個(gè)表中聯(lián)結(jié)字段相等的行

舉例如下:

--------------------------------------------

表A記錄如下:

aID     aNum
1     a20050111
2     a20050112
3     a20050113
4     a20050114
5     a20050115

表B記錄如下:

bID     bName
1     2006032401
2     2006032402
3     2006032403
4     2006032404
8     2006032408

--------------------------------------------
1.left join

sql語(yǔ)句如下:

select * from A
left join B 
on A.aID = B.bID

結(jié)果如下:

aID     aNum     bID     bName
1     a20050111    1     2006032401
2     a20050112    2     2006032402
3     a20050113    3     2006032403
4     a20050114    4     2006032404
5     a20050115    NULL     NULL

(所影響的行數(shù)為 5 行)

結(jié)果說(shuō)明:

left join是以A表的記錄為基礎(chǔ)的,A可以看成左表,B可以看成右表,left join是以左表為準(zhǔn)的.

換句話說(shuō),左表(A)的記錄將會(huì)全部表示出來(lái),而右表(B)只會(huì)顯示符合搜索條件的記錄(例子中為: A.aID = B.bID).

B表記錄不足的地方均為NULL.

--------------------------------------------

2.right join

sql語(yǔ)句如下:

select * from A
right join B 
on A.aID = B.bID

結(jié)果如下:

aID     aNum     bID     bName
1     a20050111    1     2006032401
2     a20050112    2     2006032402
3     a20050113    3     2006032403
4     a20050114    4     2006032404
NULL     NULL     8     2006032408

(所影響的行數(shù)為 5 行)

結(jié)果說(shuō)明:

仔細(xì)觀察一下,就會(huì)發(fā)現(xiàn),和left join的結(jié)果剛好相反,這次是以右表(B)為基礎(chǔ)的,A表不足的地方用NULL填充.

--------------------------------------------

3.inner join

sql語(yǔ)句如下:

select * from A
innerjoin B 
on A.aID = B.bID

結(jié)果如下:

aID     aNum     bID     bName
1     a20050111    1     2006032401
2     a20050112    2     2006032402
3     a20050113    3     2006032403
4     a20050114    4     2006032404

結(jié)果說(shuō)明:

很明顯,這里只顯示出了 A.aID = B.bID的記錄.這說(shuō)明inner join并不以誰(shuí)為基礎(chǔ),它只顯示符合條件的記錄.

總結(jié)

到此這篇關(guān)于inner join和left join之間的區(qū)別詳解的文章就介紹到這了,更多相關(guān)inner join和left join區(qū)別內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

西宁市| 时尚| 南开区| 得荣县| 佛冈县| 德保县| 定远县| 灌云县| 岚皋县| 宁南县| 柳林县| 团风县| 江孜县| 普洱| 蕲春县| 共和县| 泰安市| 宁波市| 景德镇市| 门源| 容城县| 抚顺县| 同江市| 额济纳旗| 天气| 鄯善县| 丰台区| 沽源县| 台中县| 阳城县| 西城区| 清远市| 渭南市| 广州市| 闵行区| 霍州市| 洞口县| 巍山| 民权县| 宕昌县| 呼玛县|