inner join on 加条件和where加条件_图解 SQL 中各种连接 JOIN

本文介绍了SQL中的多种连接查询,包括自连接、内连接(等值连接、自然连接、不等连接)、外连接(左连接、右连接)和交叉连接。通过实例解析了每种连接查询的工作原理和应用场景,帮助读者理解多表查询的不同方式。
摘要由CSDN通过智能技术生成

先用文字来捋一下思路,数据库操作中无非就是「 增删查改 」,其中「 查」用得最多且最复杂,变化多端。查询的时候,我们可以只是单表查询,也可以是多表连接查询,单表查询中的学问也很大,但限于篇幅,本次主要分享多表连接查询,也就是各种各样的连接(JOIN)。

多表连接查询中的「多表」,可以是同一张表自己和自己连接查询。

相当于(可以理解为) A 表自己先复制自己后再和自己连接,如此称为「 自连接

c1818c3723da63054aadad422012ed97.png

也可以在不同张表中连接查询,可分为「内连接」、「交叉连接」、「外连接」。

7c06c50b8b0b7264d54f1ab31015c2f1.png

内连接根据所使用的比较方式不同,又分为「等值连接」、「自然连接」和「不等连接」三种,连接的结果列出这些表中与连接条件相匹配的数据行。

与内连接不同的是,外连接不只列出与连接条件相匹配的行,而是列出左表(左外连接时)、右表(右外连接时)或两个表(全外连接时)中所有符合搜索条件的数据行。

外连接分为「左外连接」或「左连接」( OUTER JOIN 或 LEFT JOIN)、「右外连接」或「右连接」(RIGHT OUTER JOIN 或 RIGHT JOIN)和「全外连接」或「全连接」(FULL OUTER JOIN 或 FULL JOIN)三种。

一张图来总结一下

49da15728b5c2d9bca33133d76a1da3e.png

自连接

一张表中,假如有两个以上的字段,且这些字段有一定的关系,我们又刚好想摸清这些关系字段的数据,就可以在这上面做文章,俗称「自连接」。

其中最经典的例子是车站站点表。

如果用的是关系型数据库,早期开发中估计这么干,现在估计用的都是图数据库。我们建一张表 bus_sche,为了简单,表中只有上一站地点和下一站地点及唯一标识,然后插入一些模拟数据。

4256c86a1218aeaebd1271d8b11b8a25.png

我就可以通过自连接查询上下站关系找到坐车线路

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值