日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

SQL中的各種連接的區(qū)別總結(jié)

來源: 責(zé)編: 時(shí)間:2023-10-08 10:00:05 307觀看
導(dǎo)讀前言  今天主要的內(nèi)容是要講解SQL中關(guān)于Join、Inner Join、Left Join、Right Join、Full Join、On、 Where區(qū)別和用法,不用我說其實(shí)前面的這些基本SQL語法各位攻城獅基本上都用過。但是往往我們可能用的比較多的也就

前言

  今天主要的內(nèi)容是要講解SQL中關(guān)于Join、Inner Join、Left Join、Right Join、Full Join、On、 Where區(qū)別和用法,不用我說其實(shí)前面的這些基本SQL語法各位攻城獅基本上都用過。但是往往我們可能用的比較多的也就是左右連接和內(nèi)連接了,而且對(duì)于許多初學(xué)者而言不知道什么時(shí)候該用哪種語法進(jìn)行查詢,并且對(duì)于左右,或者內(nèi)連接查詢的時(shí)候關(guān)于ON 和Where 的作用也是模糊不清的,說不出其中的一個(gè)大概的差別,因此接下來請(qǐng)容我把它們好好描述一遍。HuI28資訊網(wǎng)——每日最新資訊28at.com

數(shù)據(jù)庫(MS Sql Server)表結(jié)構(gòu)和對(duì)應(yīng)數(shù)據(jù)

Students 學(xué)生表:

圖片圖片HuI28資訊網(wǎng)——每日最新資訊28at.com

Class 班級(jí)表:

圖片圖片HuI28資訊網(wǎng)——每日最新資訊28at.com

Join(where聯(lián)立查詢)

概念:用于兩表或多表之間數(shù)據(jù)聯(lián)立查詢。HuI28資訊網(wǎng)——每日最新資訊28at.com

select * from Students s,Class c where s.ClassId=c.ClassId

圖片圖片HuI28資訊網(wǎng)——每日最新資訊28at.com

Inner Join(內(nèi)連接查詢)

概念:與Join相同,兩表或多表之間聯(lián)立查詢數(shù)據(jù),因此我們?cè)谑褂枚啾韏oin查詢的時(shí)候既可以使用where關(guān)聯(lián),也可以是inner join關(guān)聯(lián)查詢。HuI28資訊網(wǎng)——每日最新資訊28at.com

select * from Students s inner join  Class c  on s.ClassId=c.ClassId

圖片圖片HuI28資訊網(wǎng)——每日最新資訊28at.com

Left Join(左連接查詢)

概念:以左表中的數(shù)據(jù)為主,即使與右表中的數(shù)據(jù)不匹配也會(huì)把左表中的所有數(shù)據(jù)返回。HuI28資訊網(wǎng)——每日最新資訊28at.com

select * from Students s left join  Class c  on s.ClassId=c.ClassId

圖片圖片HuI28資訊網(wǎng)——每日最新資訊28at.com

Right Join(右連接查詢)

概念:與Left Join的用法相反,是以右表中的數(shù)據(jù)為主,即使左表中不存在匹配數(shù)據(jù)也會(huì)把右表中所有數(shù)據(jù)返回。HuI28資訊網(wǎng)——每日最新資訊28at.com

select * from Students s right join  Class c  on s.ClassId=c.ClassId

圖片圖片HuI28資訊網(wǎng)——每日最新資訊28at.com

Full Join(全連接查詢)

概念:返回表中所有的數(shù)據(jù)數(shù)據(jù),無論匹配與否。HuI28資訊網(wǎng)——每日最新資訊28at.com

select * from Students s Full JOIN  Class c  on s.ClassId=c.ClassId

圖片圖片HuI28資訊網(wǎng)——每日最新資訊28at.com

On、Where的異同

這兩個(gè)概念中也是絕大多數(shù)人無法區(qū)分到底它們兩者之間有何區(qū)別,我什么時(shí)候使用On,什么時(shí)候使用Where,下面將分別展示兩者的異同。

ON的使用無論是左右內(nèi)全都使用到了On來進(jìn)行關(guān)聯(lián):

對(duì)于Inner Join 的作用就是起到了與where相同的作用條件篩選:

select * from Students s inner JOIN  Class c  on s.ClassId=c.ClassId and s.Sex='男'

圖片圖片HuI28資訊網(wǎng)——每日最新資訊28at.com

對(duì)于左右連接而言,無論查詢條件是否滿足都會(huì)返回對(duì)應(yīng)所指向的那邊的所有數(shù)據(jù):

select * from Students s left join  Class c  on s.ClassId=c.ClassId and s.Sex='男'

圖片圖片HuI28資訊網(wǎng)——每日最新資訊28at.com

對(duì)于Full Join 而言無論,只有同時(shí)滿足的時(shí)候才會(huì)返回全部關(guān)聯(lián)的數(shù)據(jù),假如有一方不滿足返回以左邊的表數(shù)據(jù)為基準(zhǔn)返回:

--全連接select * from Students s full join  Class c  on s.ClassId=c.ClassId --全連接加on查詢select * from Students s full join  Class c  on s.ClassId=c.ClassId and s.Sex='男'

圖片圖片HuI28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片HuI28資訊網(wǎng)——每日最新資訊28at.com

Where的用法就不描述了因?yàn)檫@個(gè)咱們用的都比較多,下面說明一下兩者的概念問題:

1、on條件是在生成臨時(shí)表時(shí)使用的條件,它不管on中的條件是否為真,都會(huì)返回左邊表中的記錄(以左連接為例)。HuI28資訊網(wǎng)——每日最新資訊28at.com

2、where條件是在臨時(shí)表生成好后,再對(duì)臨時(shí)表產(chǎn)生的數(shù)據(jù)進(jìn)行過濾條件篩選。HuI28資訊網(wǎng)——每日最新資訊28at.com

HuI28資訊網(wǎng)——每日最新資訊28at.com

結(jié)論:on用作于生成臨時(shí)表時(shí)的條件篩選,where用作于對(duì)臨時(shí)表中的記錄進(jìn)行過濾。HuI28資訊網(wǎng)——每日最新資訊28at.com

HuI28資訊網(wǎng)——每日最新資訊28at.com

總結(jié):

最后我想說的是,有時(shí)候我們總認(rèn)為概念性的東西很簡單而忽視了實(shí)踐。其實(shí)往往一些基礎(chǔ)性的東西才是為我們往后構(gòu)建萬丈高樓的前提,堅(jiān)持多實(shí)踐、多動(dòng)手,你會(huì)發(fā)現(xiàn)其實(shí)這些問題并不難。HuI28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-12443-0.htmlSQL中的各種連接的區(qū)別總結(jié)

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 如何實(shí)現(xiàn)并部署自己的Npm解析服務(wù)

下一篇: 如何使用Higress快速實(shí)現(xiàn)金絲雀與藍(lán)綠發(fā)布

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 主站蜘蛛池模板: 桂林市| 化州市| 克东县| 江安县| 建宁县| 淳安县| 孝昌县| 衡东县| 高清| 九寨沟县| 莱州市| 乐东| 平陆县| 师宗县| 喀什市| 会东县| 宝山区| 斗六市| 花垣县| 修武县| 二连浩特市| 延川县| 隆安县| 新安县| 自治县| 广元市| 陕西省| 九龙城区| 赞皇县| 杂多县| 盐山县| 米易县| 海城市| 千阳县| 屯昌县| 平定县| 兴国县| 普洱| 北辰区| 渝中区| 密云县|