看图学sql之sql 中的join

SQL JOIN 子句用于将两个或者多个表联合起来进行查询

image.png



语法:

SELECT table1.column1, table2.column2...
FROM table1
(INNER/LEFT/RIGHT/FULL OUTER) JOIN table2
ON table1.common_column1 = table2.common_column2;

table1.common_column1 = table2.common_column2 是连接条件,只有满足此条件的记录才会合并为一行。可以使用多个运算符来连接表,例如 =、>、<、<>、<=、>=、!=、BETWEEN、LIKE 或者 NOT,但是最常见的是使用 =

INNER JOIN

INNER JOIN 是 SQL 中最重要、最常用的表连接形式,只有当连接的两个或者多个表中都存在满足条件的记录时才返回行。

示例:

image.png

image.png





LEFT JOIN

LEFT JOIN 以左表为主,即左表中的所有记录都会被返回,具体分为以下三种情况:

  • 如果 table1 中的某条记录在 table2 中刚好只有一条记录可以匹配,那么在返回的结果中会生成一个新的行。
  • 如果 table1 中的某条记录在 table2 中有 N 条记录可以匹配,那么在返回结果中也会生成 N 个新的行,这些行所包含的 table1 的字段值是重复的。
  • 如果 table1 中的某条记录在 table2 中没有匹配的记录,那么在返回结果中仍然会生成一个新的行,只是该行所包含的 table2 的字段值都是 NULL

示例:

image.png



image.png





RIGHT JOIN

RIGHT JOIN 和 LEFT JOIN 是相对的,RIGHT JOIN 将返回右表(table2)中的所有记录,即使左表(table1)中没有匹配的记录也是如此。当左表中没有匹配的记录时,RIGHT JOIN 仍然返回一行,只是该行的右表字段有值,而左表字段以 NULL 填充。

示例:

image.png

image.png

FULL OUTER JOIN

FULL JOIN 将返回左表(table1)和右表(table1)中的所有记录

示例:

image.png

image.png

  

---写在文末---

数据分析社区推荐,免费数据分析资料下载。定期分享数据分析领域的最新动态、实战案例、技术工具评测、数据可视化技巧以及行业洞察报告。

数据分析专栏

资料下载

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值