当前位置:网站首页>總結的太好了!終於有人把SQL的各種連接Join都講明白了
總結的太好了!終於有人把SQL的各種連接Join都講明白了
2022-07-19 08:14:00 【澎湖Java架構師】
SQL JOIN 子句用於把來自兩個或多個錶的行結合起來,基於這些錶之間的共同字段。
最常見的 JOIN 類型:SQL INNER JOIN(簡單的 JOIN)、SQL LEFT JOIN、SQL RIGHT JOIN、SQL FULL JOIN,其中前一種是內連接,後三種是外鏈接。

假設我們有兩張錶,Table A是左邊的錶,Table B是右邊的錶。
一、INNER JOIN
內連接是最常見的一種連接,只連接匹配的行。
inner join語法
select column_name(s) from table 1 INNER JOIN table 2 ON table 1.column_name=table 2.column_name
注釋:INNER JOIN與JOIN是相同

INNER JOIN產生的結果集中,是1和2的交集。
select * from Table A inner join Table B on Table A.id=Table B.id
執行以上SQL輸出結果如下:

二、LEFT JOIN
LEFT JOIN返回左錶的全部行和右錶滿足ON條件的行,如果左錶的行在右錶中沒有匹配,那麼這一行右錶中對應數據用NULL代替。
LEFT JOIN 語法
select column_name(s) from table 1 LEFT JOIN table 2 ON table 1.column_name=table 2.column_name
注釋:在某些數據庫中,LEFT JOIN 稱為LEFT OUTER JOIN

LEFT JOIN產生錶1的完全集,而2錶中匹配的則有值,沒有匹配的則以null值取代。
select * from Table A left join Table B on Table A.id=Table B.id
執行以上SQL輸出結果如下:

三、RIGHT JOIN
RIGHT JOIN返回右錶的全部行和左錶滿足ON條件的行,如果右錶的行在左錶中沒有匹配,那麼這一行左錶中對應數據用NULL代替。
RIGHT JOIN語法
select column_name(s) from table 1 RIGHT JOIN table 2 ON table 1.column_name=table 2.column_name
注釋:在某些數據庫中,RIGHT JOIN 稱為RIGHT OUTER JOIN

RIGHT JOIN產生錶2的完全集,而1錶中匹配的則有值,沒有匹配的則以null值取代。
select * from Table A right join Table B on Table A.id=Table B.id
執行以上SQL輸出結果如下:

四、FULL OUTER JOIN
FULL JOIN 會從左錶 和右錶 那裏返回所有的行。如果其中一個錶的數據行在另一個錶中沒有匹配的行,那麼對面的數據用NULL代替
FULL OUTER JOIN語法
select column_name(s) from table 1 FULL OUTER JOIN table 2 ON table 1.column_name=table 2.column_name

FULL OUTER JOIN產生1和2的並集。但是需要注意的是,對於沒有匹配的記錄,則會以null做為值。
select * from Table A full outer join Table B on Table A.id=Table B.id
執行以上SQL輸出結果如下:

边栏推荐
- redis缓存雪崩、穿透、击穿
- Beijing Jiewen technology, an acquiring outsourcing service provider, transferred 60% of its shares for about 480million
- Go language Bible
- 本地存储 sessionStorage
- [C# 变量常量关键字]- C# 中的变量常量以及关键字
- FMC sub card: 4-way sfp+ 10 Gigabit optical fiber network FMC sub card
- 数组习题三
- Why does the Fed cut interest rates benefit the digital money market in the long run? 2020-03-05
- redis集群
- What if the user information in the website app database is leaked and tampered with
猜你喜欢
随机推荐
类型详解·自定义类型·结构体初识
1669. Merge two linked lists (merge of two linked lists)
Facial key point detection CNN
Error received from peer ipv4/Connection reset by peer Paddleserving服务化部署后报错
ObjectARX--自定义圆的实现
通过ip获取归属地
Use of fiddler packet capturing tool
从赌场逻辑,分析平台币的投资价值 2020-03-03
黑马程序员-软件测试-16阶段3-功能测试-175-198,URL组成介绍,请求内容以及组成说明行功能测试与数据库,url组成扩展说明,客户端与服务器请求与响应,-Fiddler按照以及功能检查确认,
Is there any cumulative error in serial communication and the requirements for clock accuracy
Unity custom sky ball model to prevent it from being cropped
Not so large number of combinations
“韭菜”是怎么把钱送给“镰刀”的? 2020-03-07
OI回忆录
RNN convolutional neural network
Ccf-csp "202206-2 - treasure hunt! Adventure!"
WPF 三维应用搭建(基础)
在线问题反馈模块实战(五):实现对通用字段内容自动填充功能
Leetcode daily question 2021/7/11-2021/7/17
深圳保诚笔试记录









