SQL 中的 left join 外连接

left join 是 left outer join 的简写,left join 默认是 outer 属性的。

account 表

这里写图片描述

custom 表

这里写图片描述


0 基础

inner join

这里写图片描述

left join

这里写图片描述

这里写图片描述

外连接包括 第一个表 的 所有行,但 仅仅 包含 第二个表 中那些匹配行 的数据。

这里写图片描述


1 左外连接 与 右外连接

关键词 left 指出连接左边的表决定结果集的行数,而右边的只负责提供与之匹配的列值。

这里写图片描述

这里写图片描述


2 三路外连接

SELECT a.account_id, 
             a.product_cd,
             CONCAT(i.fname, ' ', i.lname) person_name,
             b.name business_name
FROM  account a  

LEFT JOIN individual i
ON i.cust_id = a.cust_id

LEFT JOIN business b
ON a.cust_id = b.cust_id;

这里写图片描述

使用子查询

SELECT account_ind.account_id, 
             account_ind.product_cd,
             account_ind.person_name,
             b.name business_name
FROM  
(SELECT a.account_id,
                a.product_cd,
                a.cust_id,
                CONCAT(i.fname, ' ', i.lname) person_name
 FROM       account a 
 LEFT JOIN individual i
 ON a.cust_id = i.cust_id) account_ind
LEFT JOIN business b
ON account_ind.cust_id = b.cust_id;

这里写图片描述


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值