LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

[點晴永久免費OA]SQL中的各種連接的區別總結

admin
2023年10月8日 8:34 本文熱度 1046

前言

  今天主要的內容是要講解SQL中關于Join、Inner Join、Left Join、Right Join、Full Join、On、 where區別和用法,不用我說其實前面的這些基本SQL語法各位攻城獅基本上都用過。但是往往我們可能用的比較多的也就是左右連接和內連接了,而且對于許多初學者而言不知道什么時候該用哪種語法進行查詢,并且對于左右,或者內連接查詢的時候關于ON 和where 的作用也是模糊不清的,說不出其中的一個大概的差別,因此接下來請容我把它們好好描述一遍。

數據庫(MS Sql Server)表結構和對應數據

Students 學生表:

Class 班級表:

Join(where聯立查詢)

概念:用于兩表或多表之間數據聯立查詢。

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

Inner Join(內連接查詢)

概念:與Join相同,兩表或多表之間聯立查詢數據,因此我們在使用多表join查詢的時候既可以使用where關聯,也可以是inner join關聯查詢。

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

Left Join(左連接查詢)

概念:以左表中的數據為主,即使與右表中的數據不匹配也會把左表中的所有數據返回。

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

Right Join(右連接查詢)

概念:與Left Join的用法相反,是以右表中的數據為主,即使左表中不存在匹配數據也會把右表中所有數據返回。

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

Full Join(全連接查詢)

概念:返回表中所有的數據數據,無論匹配與否。

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

On、where的異同

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

ON的使用無論是左右內全都使用到了On來進行關聯:

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

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

對于左右連接而言,無論查詢條件是否滿足都會返回對應所指向的那邊的所有數據:

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

對于Full Join 而言無論,只有同時滿足的時候才會返回全部關聯的數據,假如有一方不滿足返回以左邊的表數據為基準返回:

--全連接
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='男'

where的用法就不描述了因為這個咱們用的都比較多,下面說明一下兩者的概念問題:

1、on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會返回左邊表中的記錄(以左連接為例)。
2、where條件是在臨時表生成好后,再對臨時表產生的數據進行過濾條件篩選。

結論:on用作于生成臨時表時的條件篩選,where用作于對臨時表中的記錄進行過濾。

總結:

  最后我想說的是,有時候我們總認為概念性的東西很簡單而忽視了實踐。其實往往一些基礎性的東西才是為我們往后構建萬丈高樓的前提,堅持多實踐、多動手,你會發現其實這些問題并不難。


該文章在 2023/10/8 8:55:23 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
日韩中文字幕在线一区二区三区 | 日韩a∨中文字幕在线电影吧 | 日日久资源站中文字幕 | 日韩免费看视频三区中文字幕 | 亚洲成年少妇丰满网 | 亚洲日韩一区精品射精 |