首頁 資料庫 SQL 瞭解sql語句的內連接、左外連接、右外連接

瞭解sql語句的內連接、左外連接、右外連接

Jan 15, 2021 am 10:20 AM

瞭解sql語句的內連接、左外連接、右外連接

推薦( 免費):SQL教學


瞭解sql語句的內連接、左外連接、右外連接
大家在初學資料庫時,對DQL中的連接查詢是否有些疑惑,不知道什麼時候什麼場景下該用那種連接查詢?


不要著急,接下來由我來給大家介紹一下,本人對內連接、左外連接、右外連接的特點和應用場景的理解,供大家參考。 以下的程式碼示範皆基於name表和country表展開。

name表id#name1西施2楊玉環3貂蟬4王昭君5趙飛燕

country表格#idcountryA_ID1春秋時期越國人#1
##2 唐代蒲州永樂人 2
3 東漢末年山西忻州人 3
#4

西漢時期南郡秭歸人

4

#5##《戰國時期

1)b表A_ID與a表a_id 存在關係id#西施
# 6 註: 2)連接查詢是要使用關聯條件去除不匹配資料否則會出現笛卡爾積
1) 內連接
语法:	select  要查询的字段 from 表名1 inner join 表名2 on 表1.字段 = 表2.字段;
	inner join 可简写为 逗号,
内连接特点:
	只会保留完全符合on后条件的数据
应用场景:
	如果两张表有外键关系可以使用内链接,因为通过内链接每一条只能返回单条记录
登入後複製
select * from name n inner join country c on n.id = c.N_ID;
登入後複製
id name
country N_ID #1

1春秋越國人1#2楊玉環2唐代蒲州永樂人2#3貂蟬#3東漢末年山西忻州人34王昭君4西漢時期南郡秭歸人42)左外連接
语法:	select 要查询的字段 from 表1 left outer join 表2 on 表1.字段 = 表2.字段;
	outer 可省略
左外连接特点:
	以左表为主,会保留左表中不符合on后条件的数据
应用场景:
	只有部分记录可以从表2中查到,但表1想要显示所有记录,就可以和表2通过左外连接查询。
登入後複製
select * from name n left join country c on n.id=c.N_ID;
登入後複製
id nameidcountryN_ID
'

1 西施

1春秋時期越國人12 楊玉環2唐代蒲州永樂人2#3貂蟬3 東漢末年山西忻州人3#4王昭君4#西漢時期南郡秭歸人4#5趙飛燕null#nullnull3) 右外連接
语法:	select * from 表1 right outer join 表2 on 表1.字段 = 表2.字段;
	outer 可省略
右外连接特点:
	以右表为主,会保留右表中不符合on后条件的数据
应用场景:
	和左外连接相反
	只有部分记录可以从表1中查询到,但表2想要显示所有记录, 就可以和表1通过右外连接查询。
登入後複製
select * from name n right join country c on n.id=c.N_ID;
登入後複製
idnameidcountryN_ID

1西施

1春秋時期越國人12 楊玉環2唐代蒲州永樂人2#3貂蟬3東漢末年山西忻州人3#4王昭君4#西漢時期南郡秭歸人4nullnull5戰國時期64) 完全連結#
语法:	select * from 表1 full join 表2 on 表1.字段 = 表2.字段;完全连接特点:
	会保留表1和表2的全部数据
登入後複製
select * from name n full join country c on n.id=c.N_ID;
登入後複製
nameidcountryN_ID1西施1春秋時期越國人1

#2楊玉環

2
瞭解sql語句的內連接、左外連接、右外連接唐代蒲州永樂人

23

###貂蟬######3##### ##東漢末年山西忻州人######3#############4######王昭君######4######西漢時期南郡秭歸人######4############5######趙飛燕######null######null####### null############null######null#######5######戰國時期#####6####### ###########注意:該語法在MySql中不適用###### 好的,本人介紹完畢,不知道有沒有幫助到各位呢? ### 如果有什麼不對,還請各位指出哦~###############更多相關知識敬請關注###sql###欄位~##### #

以上是瞭解sql語句的內連接、左外連接、右外連接的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何使用SQL遵守數據隱私法規(GDPR,CCPA)? 如何使用SQL遵守數據隱私法規(GDPR,CCPA)? Mar 18, 2025 am 11:22 AM

文章討論了用於GDPR和CCPA合規性的SQL,專注於數據匿名,訪問請求和自動刪除過時的數據。(159個字符)

如何將SQL數據庫確保不受SQL注入等常見漏洞? 如何將SQL數據庫確保不受SQL注入等常見漏洞? Mar 18, 2025 am 11:18 AM

本文討論了針對SQL數據庫確保SQL數據庫,例如SQL注入,強調準備好的語句,輸入驗證和常規更新。

如何在SQL中實現數據分區以獲得性能和可伸縮性? 如何在SQL中實現數據分區以獲得性能和可伸縮性? Mar 18, 2025 am 11:14 AM

文章討論在SQL中實施數據分區,以提高性能和可伸縮性,詳細的方法,最佳實踐和監視工具。

sql datetime怎麼用 sql datetime怎麼用 Apr 09, 2025 pm 06:09 PM

DATETIME 數據類型用於存儲高精度的日期和時間信息,範圍為 0001-01-01 00:00:00 至 9999-12-31 23:59:59.9999999,語法為 DATETIME(precision),其中 precision 指定小數點後精度 (0-7),默認為 3。它支持排序、計算和時區轉換功能,但需要注意精度、範圍和時區轉換時的潛在問題。

如何將SQL用於數據倉庫和商業智能? 如何將SQL用於數據倉庫和商業智能? Mar 18, 2025 am 11:16 AM

本文討論了使用SQL用於數據倉庫和商業智能,重點關注ETL流程,數據建模和查詢優化。它還涵蓋BI報告創建和工具集成。

sql if語句怎麼用 sql if語句怎麼用 Apr 09, 2025 pm 06:12 PM

SQL IF 語句用於有條件地執行 SQL 語句,語法為: IF (condition) THEN {語句} ELSE {語句} END IF;。條件可以是任何有效的 SQL 表達式,如果條件為真,執行 THEN 子句;如果條件為假,執行 ELSE 子句。 IF 語句可以嵌套,允許更複雜的條件檢查。

sql server怎麼用sql語句創建表 sql server怎麼用sql語句創建表 Apr 09, 2025 pm 03:48 PM

在 SQL Server 中使用 SQL 語句創建表的方法:打開 SQL Server Management Studio 並連接到數據庫服務器。選擇要創建表的數據庫。輸入 CREATE TABLE 語句,指定表名、列名、數據類型和約束。單擊執行按鈕創建表。

如何在SQL中使用存儲過程和功能? 如何在SQL中使用存儲過程和功能? Mar 18, 2025 am 11:09 AM

文章討論了SQL中存儲程序和功能的使用和好處,包括性能優化及其之間的差異。

See all articles