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
程序员八哥

程序员八哥

感谢大家的关注