首頁> 資料庫> SQL> 主體

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

coldplay.xixi
發布: 2021-01-15 10:20:46
轉載
4081 人瀏覽過

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

推薦( 免費):SQL教學


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


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

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

country表格 #id country A_ID 1 春秋時期越國人 #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

语法: 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;
登入後複製
1 春秋越國人 1 #2 楊玉環 2 唐代蒲州永樂人 2 #3 貂蟬 #3 東漢末年山西忻州人 3 4 王昭君 4 西漢時期南郡秭歸人 4 2)左外連接 id name id country N_ID
'

1西施

语法: 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;
登入後複製
1 春秋時期越國人 1 2 楊玉環 2 唐代蒲州永樂人 2 #3 貂蟬 3 東漢末年山西忻州人 3 #4 王昭君 4 #西漢時期南郡秭歸人 4 #5 趙飛燕 null #null null 3) 右外連接 id name id country N_ID

1西施

语法: 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;
登入後複製
1 春秋時期越國人 1 2 楊玉環 2 唐代蒲州永樂人 2 #3 貂蟬 3 東漢末年山西忻州人 3 #4 王昭君 4 #西漢時期南郡秭歸人 4 null null 5 戰國時期 6 4) 完全連結 # name id country N_ID 1 西施 1 春秋時期越國人 1

#2楊玉環

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

23

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

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

相關標籤:
來源:csdn.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!