數(shù)據(jù)庫(kù)中的左連接(left join)和右連接(right join)區(qū)別

關(guān)于連接查詢的執(zhí)行,寫在前面:
連接查詢是先生成表記錄的笛卡爾積,然后在通過(guò)on, where 和 having條件實(shí)現(xiàn)記錄的過(guò)濾. on條件對(duì)笛卡爾集合進(jìn)行過(guò)濾, 然后將結(jié)果放到一個(gè)臨時(shí)表, where條件再對(duì)臨時(shí)表中的記錄進(jìn)行過(guò)濾, having再對(duì)where過(guò)濾的結(jié)果進(jìn)行過(guò)濾

關(guān)于on條件和where條件:

  • on條件: 是生成臨時(shí)表使用的條件, 它不管on中的條件是否為真, 都會(huì)返回左/右表中的記錄
  • where條件: 是在臨時(shí)表生成之后, 在對(duì)臨時(shí)表進(jìn)行過(guò)濾的條件, 這時(shí)已經(jīng)沒(méi)有l(wèi)eft join / right join 的含義.

關(guān)于左連接和右連接總結(jié)性的一句話:

左連接where只影向右表鳖擒,右連接where只影響左表随闽。
Left Join
select * from tbl1 Left Join tbl2 where tbl1.ID = tbl2.ID

左連接后的檢索結(jié)果是顯示tbl1的所有數(shù)據(jù)和tbl2中滿足where 條件的數(shù)據(jù)
簡(jiǎn)言之 Left Join影響到的是右邊的表

Right Join
select * from tbl1 Right Join tbl2 where tbl1.ID = tbl2.ID

檢索結(jié)果是tbl2的所有數(shù)據(jù)和tbl1中滿足where 條件的數(shù)據(jù)。
簡(jiǎn)言之 Right Join影響到的是左邊的表馍忽。

inner join
select * FROM tbl1 INNER JOIN tbl2 ON tbl1.ID = tbl2.ID

功能和 select * from tbl1,tbl2 where tbl1.id=tbl2.id相同扮念。

其他相關(guān)資料

  1. WHERE子句中使用的連接語(yǔ)句九榔,在數(shù)據(jù)庫(kù)語(yǔ)言中芳室,被稱為隱性連接。INNER JOIN……ON子句產(chǎn)生的連接稱為顯性連接呈枉。(其他JOIN參數(shù)也是顯性連接)WHERE 和INNER JOIN產(chǎn)生的連接關(guān)系趁尼,沒(méi)有本質(zhì)區(qū)別,結(jié)果也一樣猖辫。但是酥泞!隱性連接隨著數(shù)據(jù)庫(kù)語(yǔ)言的規(guī)范和發(fā)展,已經(jīng)逐漸被淘汰啃憎,比較新的數(shù)據(jù)庫(kù)語(yǔ)言基本上已經(jīng)拋棄了隱性連接芝囤,全部采用顯性連接了。

  2. 無(wú)論怎么連接辛萍,都可以用join子句悯姊,但是連接同一個(gè)表的時(shí)候,注意要定義別名贩毕,否則產(chǎn)生錯(cuò)誤悯许!

a. inner join:理解為“有效連接”,兩張表中都有的數(shù)據(jù)才會(huì)顯示left join:理解為“有左顯示”辉阶,比如on a.field=b.field先壕,則顯示a表中存在的全部數(shù)據(jù)及a\b中都有的數(shù)據(jù),A中有谆甜、B沒(méi)有的數(shù)據(jù)以null顯示

b. right join:理解為“有右顯示”垃僚,比如on a.field=b.field,則顯示B表中存在的全部數(shù)據(jù)及a\b中都有的數(shù)據(jù)规辱,B中有谆棺、A沒(méi)有的數(shù)據(jù)以null顯示

c. full join:理解為“全連接”,兩張表中所有數(shù)據(jù)都顯示罕袋,實(shí)際就是inner +(left-inner)+(right-inner)

  1. join可以分主次表 外聯(lián)接有三種類型:完全外聯(lián)改淑,左聯(lián),右聯(lián).完全外聯(lián)包含兩張表的所有記錄.左聯(lián)是以左邊的表為主炫贤,右邊的為輔溅固,右聯(lián)則相反

  2. 一般要使得數(shù)據(jù)庫(kù)查詢語(yǔ)句性能好點(diǎn)遵循一下原則:
    在做表與表的連接查詢時(shí)付秕,大表在前兰珍,小表后
    在不使用表別名,通過(guò)字段前綴區(qū)分不同表中的字段
    查詢條件中的限制條件要寫在表連接條件前盡量使用索引的字段做為查詢條件

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末询吴,一起剝皮案震驚了整個(gè)濱河市掠河,隨后出現(xiàn)的幾起案子亮元,更是在濱河造成了極大的恐慌,老刑警劉巖唠摹,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件爆捞,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡勾拉,警方通過(guò)查閱死者的電腦和手機(jī)煮甥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)藕赞,“玉大人成肘,你說(shuō)我怎么就攤上這事「桑” “怎么了双霍?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)批销。 經(jīng)常有香客問(wèn)我洒闸,道長(zhǎng),這世上最難降的妖魔是什么均芽? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任丘逸,我火速辦了婚禮,結(jié)果婚禮上骡技,老公的妹妹穿的比我還像新娘鸣个。我一直安慰自己,他們只是感情好布朦,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布囤萤。 她就那樣靜靜地躺著,像睡著了一般是趴。 火紅的嫁衣襯著肌膚如雪涛舍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天唆途,我揣著相機(jī)與錄音富雅,去河邊找鬼。 笑死肛搬,一個(gè)胖子當(dāng)著我的面吹牛没佑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播温赔,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼蛤奢,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起啤贩,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤待秃,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后痹屹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體章郁,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年志衍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了暖庄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡楼肪,死狀恐怖雄驹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情淹辞,我是刑警寧澤医舆,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站象缀,受9級(jí)特大地震影響蔬将,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜央星,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一霞怀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧莉给,春花似錦毙石、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至叁幢,卻和暖如春滤灯,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背曼玩。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工鳞骤, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人黍判。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓豫尽,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親顷帖。 傳聞我的和親對(duì)象是個(gè)殘疾皇子美旧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容