LeetCode刷题之旅【数据库篇】简单 - 1:组合两个表

本文详细解释了如何使用SQL的LEFT JOIN语句来组合两个表,特别是当一个表中可能存在缺失的对应项时。通过实际的代码示例,展示了如何从Person表和Address表中获取完整的人员信息,即使某些人员没有地址信息。

2019年11月12日

目录 组合两个表

题目

解题1

解题2


题目

 

解题1

SELECT 
	person.FirstName  ,
	person.LastName    ,
	address.City        ,
	address.State       
FROM person 
LEFT JOIN address
ON person.PersonId     = address.PersonId    ;

 

解题2

因为表 Address 中的 personId 是表 Person 的外关键字,所以我们可以连接这两个表来获取一个人的地址信息。考虑到可能不是每个人都有地址信息,我们应该使用 outer join 而不是默认的 inner join。

select FirstName, LastName, City, State
from Person left join Address
on Person.PersonId = Address.PersonId
;
  • outer join 包括 left join , right join 和full join ,看情况来选择需要的外连接。
  •  LEFT JOIN 就是 LEFT OUTER JOIN。(例如mysql)

后台技术汇:扫码获取知识干货

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后台技术汇

对你的帮助,是对我的最好鼓励。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值