SQL里这4种JOIN,图解一看就懂了
程序员八哥
2025-05-09 15:01:09
今天就来用一张图带你快速种草 SQL 最核心的 4 种连接方式,看完不但你会用,还能讲明白!
1. INNER JOIN:只要你有我也有,咱俩就配对成功!
这是最常见的连接方式,只保留两个表中都存在的记录。
比如图中 Table A 和 Table B 都有 key=1 和 key=2,它们就能配对组成结果;key=3(A独有)和key=4(B独有)就被淘汰了。
使用场景:查询有交集的业务数据,比如“下单且已支付的用户”。
SQL代码示例:
SELECT * FROM A INNER JOIN B ON A.key = B.key;
2. LEFT JOIN:你是主角,对方只是配角
LEFT JOIN 是“以左表为主”,保留左表的所有记录,如果右表中有对应项就配对,没有就补 NULL。
图中 key=3 在左表有但右表没有,仍然会保留下来,但 Val_B 是 NULL。
适合:查“所有用户及其订单(即使没有订单也列出来)”。
SQL代码示例:
SELECT * FROM A LEFT JOIN B ON A.key = B.key
3. RIGHT JOIN:以右为尊,左边听命安排
和 LEFT JOIN 相反,RIGHT JOIN 以右表为主,保留右表所有记录,左表中没有对应项就补 NULL。
图中 key=4 在右表有,但左表没有,结果中照样保留,但 Val_A 是 NULL。
适合:比如“所有商品及其销量(即使没卖出去)”。
SQL代码示例:
SELECT * FROM A RIGHT JOIN B ON A.key = B.key;
4. FULL OUTER JOIN:一个都不能少!
这个 JOIN 是最全面的,左右两表全部保留,能配对的配对,不能的就补 NULL。
图中 A 的 key=3,B 的 key=4 都分别独立存在,也都出现在最终结果中。
适合:做报表、数据对账时,所有数据都不能漏。
SQL代码示例:
SELECT * FROM A FULL OUTER JOIN B ON A.key = B.key;
总结:看图记忆,牢靠又快
• INNER JOIN:有共同点才显示
• LEFT JOIN:左边为主,有没有右边都行
• RIGHT JOIN:右边为主,有没有左边都行
• FULL OUTER JOIN:不放过任何一方
0
阅读:0