Mysql----左連接蹋砚、右連接、內(nèi)連接循榆、全連接的區(qū)別

最近墨坚,突然想起來數(shù)據(jù)庫有好些時間沒用到,所以盗尸,想把數(shù)據(jù)庫有關(guān)的知識回顧一下,所以接下來這個月泼各,基本上會以數(shù)據(jù)庫的帖子來寫為主,首先,很多同學(xué)都會有個錯覺逆巍,覺得學(xué)習(xí)數(shù)據(jù)庫會sql語句的增刪改查就夠了弱贼,其實,這僅僅是片面的認(rèn)知溪烤,掌握了這些還遠(yuǎn)遠(yuǎn)不夠庇勃,sql是你作為謀求生計的基本功,不會也得會责嚷,但是,要想變得優(yōu)秀揍异,還得學(xué)習(xí)更多的爆班,比如:存儲器、索引戚嗅、事務(wù)等等枢舶。今天先和大家聊聊面試時技術(shù)官常會問你的:你說說看左連接與右連接以及全連接的區(qū)別,這個問題不管你是面試開發(fā)崗凉泄、測試崗甚至是產(chǎn)品崗,都會問到醇份,接下來的慢慢看,就當(dāng)回顧一下舊知識

在具體的介紹之前僚纷,先準(zhǔn)備兩張表,拿我自己的舉例:test001(看作左表) 怖竭、 test002(看作右表)



1.內(nèi)連接

關(guān)鍵字:inner join

sql語句:select * from table_left(表名) inner join table_right(表名) on table_left.id = table_right.id

注釋說明:結(jié)合兩張表的記錄痊臭,返回相關(guān)的查詢結(jié)果,返回的是兩個表的交集部分(即陰影部分)广匙,見下圖


用我剛剛上面舉例的兩張表查詢一下:SELECT* FROM test001 INNER JOIN test002 ON test001.id=test002.id

兩張表都有主鍵id,內(nèi)連接的查詢就是找出相同的主鍵以及主鍵附帶的字段信息鸦致,這里咱們可以把sql再改進(jìn)一下涣楷,讓查詢結(jié)果看起來不是那么累贅

sql語句 : SELECT test001.id AS ID ,test001.username,test002.job FROM test001 INNER JOIN test002 ON test001.id=test002.id


2.左連接

關(guān)鍵字:left join

sql語句:select* from table_left(表名) left join table_right(表名) on table_left.id = table_right.id

注釋說明:left join 是left outer join 的簡寫狮斗,全稱其實是左外連接,屬于外連接的一種碳褒,左連接查詢,左表的信息全部展示出來睦授,右表只會展示符合搜索條件的信息专酗,不足的地方記為NULL


同樣的,用我剛剛最上面準(zhǔn)備好的兩張表查詢一下:SELECT test001.id AS ID ,test001.username,test002.job FROM test001 LEFT JOIN test002 ON test001.id=test002.id

3.右連接

關(guān)鍵字:right join

sql語句:select* from table_left(表名) right join table_right(表名) on table_left.id = table_right.id

注釋說明:right join 是right outer join 的簡寫沉填,全稱是右外連接佑笋,也屬于外連接的一種,右連接查詢猎荠,右表的信息全部展示出來,左表只會展示符合搜索條件的信息关摇,不足的地方記為NULL



如出一轍输虱,用我剛剛最上面準(zhǔn)備好的兩張表查詢一下:SELECT test002.id AS ID ,test001.username,test002.job FROM test001 RIGHT JOIN test002 ON test001.id=test002.id



看上圖的右連接查詢結(jié)果:右表的信息都有,左表的信息愁茁,有的就展示亭病,沒有的有用NULL表示,很容易區(qū)別

4.全連接

關(guān)鍵字:union / union all

sql語句:(select colum1,colum2,colum3... from table_left) union (select colum1,colum2,colum3... from table_right)

(select colum1,colum2,colum3... from table_left) union all (select colum1,colum2,colum3... from table_right)
全連接:實際上就是把兩張表合并罪帖,不管有的沒的,都先給整上來污茵。

注意事項:①用union 時葬项,完全相等的行,將會被合并民珍,由于合并比較耗時,一般不直接使用 union 進(jìn)行合并陋桂;通常采用union all 進(jìn)行合并蝶溶;

②被union 連接的sql 子句,單個子句中不用寫order by 抖所,因為不會有排序的效果。但可以對最終的結(jié)果集進(jìn)行排序暴匠;

(select colum1,colum2....from A order by id) union all (select colum1,colum2... from B order by id); //沒有排序效果

(select colum1,colum2... from A ) union all (select colum1,colum2... from B ) order by id; //有排序效果

同樣的傻粘,我用最開始最上面準(zhǔn)備的兩張表帮掉,來進(jìn)行全連接合并


查詢結(jié)果看上圖:左表的字段信息和右表的字段信息都全部顯示蟆炊,如果你想進(jìn)行id排序也可以瀑志,加個order by id

(SELECT test001.id,test001.username FROM test001)UNION ALL (SELECT test002.id,test002.job FROM test002) ORDER BY id


友情提示:union會自動將完全重復(fù)的數(shù)據(jù)去除掉;union all會保留那些重復(fù)的數(shù)據(jù)后室;所以混狠,建議大家合理使用,根據(jù)自己的需求進(jìn)行sql查詢

了解更多贡避,加入我們予弧,642830685,群杀捻。免費領(lǐng)取最新軟件測試大廠面試資料和Python自動化蚓庭、接口致讥、框架搭建學(xué)習(xí)資料器赞!技術(shù)大牛解惑答疑,同行一起交流请契。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末夏醉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子救恨,更是在濱河造成了極大的恐慌释树,老刑警劉巖擎淤,帶你破解...
    沈念sama閱讀 218,451評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件秸仙,死亡現(xiàn)場離奇詭異,居然都是意外死亡席吴,警方通過查閱死者的電腦和手機(jī)捞蛋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來庄涡,“玉大人搬设,你說我怎么就攤上這事∧醚ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 164,782評論 0 354
  • 文/不壞的土叔 我叫張陵球凰,是天一觀的道長该窗。 經(jīng)常有香客問我,道長义钉,這世上最難降的妖魔是什么规肴? 我笑而不...
    開封第一講書人閱讀 58,709評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮删壮,結(jié)果婚禮上兑牡,老公的妹妹穿的比我還像新娘。我一直安慰自己均函,他們只是感情好菱涤,可當(dāng)我...
    茶點故事閱讀 67,733評論 6 392
  • 文/花漫 我一把揭開白布粘秆。 她就那樣靜靜地躺著收毫,像睡著了一般攻走。 火紅的嫁衣襯著肌膚如雪此再。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評論 1 305
  • 那天巩趁,我揣著相機(jī)與錄音淳附,去河邊找鬼蠢古。 笑死,一個胖子當(dāng)著我的面吹牛洽糟,可吹牛的內(nèi)容都是我干的堕战。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼薪介,長吁一口氣:“原來是場噩夢啊……” “哼越驻!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起缀旁,我...
    開封第一講書人閱讀 39,241評論 0 276
  • 序言:老撾萬榮一對情侶失蹤并巍,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后懊渡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體军拟,經(jīng)...
    沈念sama閱讀 45,686評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡柄冲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,878評論 3 336
  • 正文 我和宋清朗相戀三年现横,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片戒祠。...
    茶點故事閱讀 39,992評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡姜盈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出馏颂,到底是詐尸還是另有隱情,我是刑警寧澤救拉,帶...
    沈念sama閱讀 35,715評論 5 346
  • 正文 年R本政府宣布亿絮,位于F島的核電站,受9級特大地震影響派昧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜秆吵,卻給世界環(huán)境...
    茶點故事閱讀 41,336評論 3 330
  • 文/蒙蒙 一五慈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧豺撑,春花似錦、人聲如沸爷肝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至夹抗,卻和暖如春纵竖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背靡砌。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評論 1 270
  • 我被黑心中介騙來泰國打工通殃, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人画舌。 一個月前我還...
    沈念sama閱讀 48,173評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像照宝,于是被迫代替她去往敵國和親句葵。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,947評論 2 355