婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > inner join和left join之間的區(qū)別詳解

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

熱門標(biāo)簽:手機(jī)地圖標(biāo)注門店 汽車4s店百度地圖標(biāo)注店 網(wǎng)貸外呼系統(tǒng)合法嗎 地圖標(biāo)注坐標(biāo)圖標(biāo) 電銷套路機(jī)器人 地圖標(biāo)注效果的制作 杭州網(wǎng)絡(luò)外呼系統(tǒng)運(yùn)營商 鶴壁電話機(jī)器人價(jià)格 安陽企業(yè)電銷機(jī)器人供應(yīng)商

前言

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

需求是從數(shù)據(jù)庫查數(shù)據(jù),在前端以柱形圖的形式展現(xiàn)出來,查到的數(shù)據(jù)按行業(yè)分組,顯示每個(gè)行業(yè)的戶數(shù)及戶數(shù)占比,涉及到的字段有A表的用戶數(shù)、總用戶數(shù)和B表的行業(yè)名稱。本來是不管查不查的到數(shù)據(jù),在X軸都應(yīng)該顯示行業(yè)名稱的,結(jié)果是X、Y軸都沒有任何數(shù)據(jù)顯示。問題就是我用錯(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語句如下:

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é)果說明:

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

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

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

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

2.right join

sql語句如下:

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é)果說明:

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

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

3.inner join

sql語句如下:

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é)果說明:

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

總結(jié)

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

您可能感興趣的文章:
  • 超詳細(xì)mysql left join,right join,inner join用法分析
  • 數(shù)據(jù)庫Left join , Right Join, Inner Join 的相關(guān)內(nèi)容,非常實(shí)用
  • 解析sql語句中l(wèi)eft_join、inner_join中的on與where的區(qū)別
  • SQL之left join、right join、inner join的區(qū)別淺析
  • SQL 外鏈接操作小結(jié) inner join left join right join
  • inner join 內(nèi)聯(lián)與left join 左聯(lián)的實(shí)例代碼

標(biāo)簽:泰安 柳州 酒泉 焦作 銀川 梧州 南陽 河源

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《inner join和left join之間的區(qū)別詳解》,本文關(guān)鍵詞  inner,join,和,left,之,間的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《inner join和left join之間的區(qū)別詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于inner join和left join之間的區(qū)別詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 孟村| 嫩江县| 林西县| 依兰县| 连城县| 黄山市| 通河县| 许昌市| 延川县| 乌拉特中旗| 盐池县| 科技| 盐源县| 陇川县| 邵东县| 洮南市| 武邑县| 昌乐县| 溧水县| 汶川县| 延吉市| 遂昌县| 武冈市| 焉耆| 五指山市| 大宁县| 隆子县| 皮山县| 正定县| 曲沃县| 游戏| 兴海县| 额敏县| 汝南县| 丰顺县| 屯门区| 岑溪市| 昆明市| 永嘉县| 江孜县| 柏乡县|