图文讲解SQL中的JOIN连接

这篇博客详细介绍了SQL中的内连接(INNER JOIN)、左连接(LEFT JOIN)和右连接(RIGHT JOIN)操作,通过实例代码展示了如何使用这些连接类型,并探讨了多表内连接和左右连接的组合使用,帮助读者深入理解SQL数据查询的不同方式。
摘要由CSDN通过智能技术生成

(包会)SQL中内、左、右连接超详细讲解

开始测试

1.测试 inner join

测试表: person(表1) technology(表2)

语法: select 字段名 from 表1 别名1 inner join 表2 别名2 on 别名1(表1).字段名=别名2(表2).字段名

拆解: 语法 on 后跟的是表1和表2相匹配的条件

-- 实例代码: 
select * from person p inner join technology t on p.pid=t.tid;

![在这里插入图片描述](https://img-blog.csdnimg.cn/df3df43f044544d6b9647e9577e8da4b.png#pic_center在这里插入图片描述

2.测试 left join

测试表: person(表1) technology(表2)

语法: select 字段名 from 表1 别名1 inner join 表2 别名2 on 别名1(表1).字段名=别名2(表2).字段名

拆解: 语法 on 后跟的是表1和表2相匹配的条件,left join连接后,左表会有全部的数据,右表若是与左表匹配不上,则会用NULL填补

-- 实例代码:
select * from person p left join technology t on p.pid=t.tid

在这里插入图片描述

3.测试right join

测试表: person(表1) technology(表2)

语法: select 字段名 from 表1 别名1 inner join 表2 别名2 on 别名1(表1).字段名=别名2(表2).字段名

拆解: 语法 on 后跟的是表1和表2相匹配的条件,right join连接后,右表会有全部的数据,左表若是与左表匹配不上,则会用NULL填补

实例代码:select * from person p right join technology t on p.pid=t.tid

在这里插入图片描述

4.多张表进行inner JOIN连接测试

-- 代码实现
select * 

from person p inner join technology t on p.pid=t.tid
-- 先将p表与t表进行内连接。
inner join win w on t.tid=w.wid
-- 此时与w表进行内连接的是经过第一次内连接后的表。所以即使t表中含有3,win表中中含有3,最终得到的结果也是没有3这一列

在这里插入图片描述

5.多张表进行左连接

select * 
from person p 
left join technology t on p.pid=t.tid
-- p表先于t表进行左连接
left join win w on t.tid=w.wid
-- 第一次左连接后的结果再与w表进行一次左连接
-- 注意:最后的查询结果的行数由最后一次的左连接的行数来决定

在这里插入图片描述

6.多张表进行右连接

select * from person p 
right join technology t on p.pid=t.tid
-- p表先与t表做右连接
right join win w on w.wid=t.tid
-- 第一次右连接后的w表结果再与w表进行右连接。
-- 注意:表有几行,取决于最后一个右连接。因为右连接是右表全部都保留,若是超出右表的范围,则不会显示出来

t.tid
– 第一次右连接后的w表结果再与w表进行右连接。
– 注意:表有几行,取决于最后一个右连接。因为右连接是右表全部都保留,若是超出右表的范围,则不会显示出来

![在这里插入图片描述](https://img-blog.csdnimg.cn/794886023e6347999ffff387b8192592.png#pic_center)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据学编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值