sql连接汇总

所谓表连接,基于表格之间的相同字段,使表之间发生关联,让两个或多个表连接在一起。

基本的连接表达式为:

在这里插入图片描述
我们可以运用Join或者Where 将多个表连接起来,最常见的是inner join。

PS 在表连接时,可以通过别名的方式来简化我们的语句。
在这里插入图片描述
注意⚠️如果在多表中出现相同的列名,这需要使用表名作为来自该表的列名的前缀。

另外,若连接条件是无效或者省略,那就会发生笛卡尔积,所谓笛卡尔积就是让我们所有连接的表每一行都发生多条连接,例如:表一有a条记录,表二有b 条记录,则笛卡尔积就有a*b条记录,为了防止这样的情况发生,我们需要提供有效的条件。

内连接

它是通过使用运算符来进行表与表之间的列数据比较操作。

基础语法为:select * from table1 inner join table2 on table1.字段名=table2.字段名

其中inner join可以简写为join

在这里插入图片描述

上面的阴影部分就是通过内连接后得出来的表。即两表同时存在部分。

例子:表1和表2 通过内连接得出表3

在这里插入图片描述

select a.*,b.level from #table1 a join #table2 b on a.store=b.store

外连接

a.左外连接left join:

左外连接以子句中的左表为基础,连接右表,将呈现出左表所有字段,右表仅呈现出与左表共同行。
在这里插入图片描述

上面的阴影部分就是通过左外连接后得出来的表。

例子,表1和表2 通过左外连接得出表3:
在这里插入图片描述

select a.*,b.level from #table1 a left join #table2 b on a.store=b.store

b.右外连接right join:

右外连接以子句中的右表为基础,连接左表,将呈现出右表所有字段,左表仅呈现出与左表共同行。
在这里插入图片描述

上面的阴影部分就是通过右外连接后得出来的表。

例子,表1和表2 通过右外连接得出表3:
在这里插入图片描述

select a.*,b.level from #table1 a right join #table2 b on a.store=b.store

c.全外连接full join:

返回所有结果,包括未匹配成功的结果
在这里插入图片描述

上面的阴影部分就是通过全外连接后得出来的表。

例子,表1和表2 通过全外连接得出表3:

在这里插入图片描述

select a.*,b.level from #table1 a full join #table2 b on a.store=b.store

—————————————
版权声明:本文为CSDN博主「weixin_39819974」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39819974/article/details/111375072

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值