亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Mysql中l(wèi)eft join、right join和inner join(join)的區(qū)別及說明

 更新時間:2024年10月24日 10:24:23   作者:APTX_869  
本文介紹了leftjoin、rightjoin和innerjoin的區(qū)別和使用場景,以圖文形式輔以實(shí)例講解,幫助讀者清晰理解三種SQL連接查詢的特點(diǎn)和應(yīng)用

前言

最近發(fā)現(xiàn)有很多小伙伴對于left join、right join和inner join(join)的區(qū)別不是很清楚,在項(xiàng)目中不管什么情況都一個left join去處理,可能有些時候會造成數(shù)據(jù)的冗余或者數(shù)據(jù)的不準(zhǔn)確。

所以下面我就以圖文的形式講解一下這三者的區(qū)別。

首先上圖,可能基礎(chǔ)強(qiáng)一點(diǎn)的小伙伴只需要這一張圖就可以很清楚很直觀的理解各種join的區(qū)別:

如果看完這張圖,還是一頭霧水,一張黑人問號臉并且心里想的是這都什么和什么?

我知道你有點(diǎn)著急了,但是你先別急,繼續(xù)往下看,下面我會用三個連接的實(shí)例讓大家更好的理解三者的區(qū)別。 

首先創(chuàng)建兩張表:subject(科目表)、score(成績表)

那么接下來我們分別來看一下這三個join的區(qū)別:

1、Left Join

顧名思義,就是左連接的意思,且數(shù)據(jù)以左表為主去關(guān)聯(lián)右表的數(shù)據(jù),查詢出的數(shù)據(jù)為左表所有符合條件的數(shù)據(jù)和右表中與左表有交集的數(shù)據(jù),如果右表中沒有與左表匹配的數(shù)據(jù),則結(jié)果集中將用Null去補(bǔ)全。

下面看示例:

SELECT
	* 
FROM
	`subject`
	LEFT JOIN score ON `subject`.id = score.id 

結(jié)果集如下:

2、Right Join

右連接,跟左連接查詢的結(jié)果恰好相反,右連接是以右表為主去關(guān)聯(lián)左表的數(shù)據(jù),查詢出的數(shù)據(jù)為右表所有符合條件的數(shù)據(jù)和左表中與右表有交集的數(shù)據(jù),如果左表中沒有與右表匹配的數(shù)據(jù),則結(jié)果集中將用Null補(bǔ)全。

下面看示例:

SELECT
	* 
FROM
	`subject`
	RIGHT JOIN score ON `subject`.id = score.id

結(jié)果集如下:

3、Join(Inner Join)

join其實(shí)就是inner join 只是簡寫而已,那么inner join顧名思義就是內(nèi)連接的意思,查詢的數(shù)據(jù)是兩個表的交集。

下面看示例:

SELECT
	* 
FROM
	`subject`
	INNER JOIN score ON `subject`.id = score.id

結(jié)果集如下:

總結(jié)

以上就是三種連接的區(qū)別,不知道各位小伙伴看完之后是不是對于三種連接有了更深刻的認(rèn)識和理解,從一開始的"這都什么和什么?“轉(zhuǎn)變成"原來是這樣啊~”,那么搞懂了之后在項(xiàng)目開發(fā)過程中就可以更靈活的去使用三個連接而不是只用一個left join碼遍天下了!

這些為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論