SQL语句的内连接,外连接,左连接,右连接,全连接详解例子

SQL语句的内连接,外连接,左连接,右连接,全连接详解例子

1、关系:链接分为内连接,外连接;外连接又分为左连接、右连接和全连接

分别为

内连接:(Inner Join):参与表格以JOIN关键词连在一起, ON指定联结的条件 
左连接(Left Outer Join):含有在左表格但无法在右表格里找到对应的资料列 
右连接(Right Outer Join):含有在右表格但无法在左表格里找到对应的资料列 
全连接(Full Outer Join):含有以上两种情况的资料列 
注意::left outer join 与 left join 等价, 一般写成left join 
       right outer join 与 right join等价,一般写成right join

2、具体实现例子

aa_test 表
在这里插入图片描述
aa_interest表
在这里插入图片描述

2.1 内连接(inner join)

内连接也称为等值连接,返回两张表都满足条件的部分。也就是满足where条件的值。

SELECT a.id,a.name,a.sex,a.phone,b.dance,b.base,b.foot 
FROM aa_test AS a
INNER JOIN aa_interest as b
on a.interest_id = b.id 

在这里插入图片描述

2.2 外连接:左连接、右连接、全连接
左连接

结果中包含位于关键字LEFT OUTER JOIN左侧的表中的所有行,以及该关键字右侧的表中满足条件的行。。

SELECT a.id,a.name,a.sex,a.phone,b.dance,b.base,b.foot 
FROM aa_test AS a
LEFT OUTER JOIN aa_interest as b
on a.interest_id = b.id

在这里插入图片描述

右连接

结果集中包含位于关键字RIGHT OUTER JOIN右侧的表中的所有行,以及该关键字左侧的表中满足条件的行。

SELECT a.id,a.name,a.sex,a.phone,b.dance,b.base,b.foot 
FROM aa_test AS a
RIGHT OUTER JOIN aa_interest as b
on a.interest_id = b.id 

在这里插入图片描述

全连接

结果中包含两个表中的所有行。
同理:

SELECT a.id,a.name,a.sex,a.phone,b.dance,b.base,b.foot 
FROM aa_test AS a
FULL OUTER JOIN aa_interest as b
on a.interest_id = b.id 

反思:从执行结果上来看,两张表 连接 相当于 两张表中的字段交叉连接,
join语句相当于对两张表做了乘法运算,把aa_test 表中的每一行记录按照顺序和aa_interest表中记录依次匹配

附:再看一下sql中主要关键字的执行顺序:

rom  
on  
join  
where  
group by  
having  
select  
distinct  
union  
order by  
  • 8
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值