编写SQL查询:关联Person与Address表,无地址时返回null
解决方案
要实现这个需求,我们需要用**左连接(LEFT JOIN)**关联Person和Address表,这样能保留Person表的所有记录,哪怕部分人员没有对应的地址信息。
对应的SQL查询语句如下:
SELECT p.firstName, p.lastName, a.city, a.state FROM Person p LEFT JOIN Address a ON p.personId = a.personId;
- 使用
LEFT JOIN是核心:它会返回左表(Person)的全部记录,当右表(Address)中没有匹配的personId时,city和state字段会自动返回NULL,正好符合需求。 - 给表设置别名
p(Person)和a(Address),能让查询语句更简洁易读。 - 关联条件绑定两个表的
personId字段,确保人员和地址信息正确匹配。
内容的提问来源于stack exchange,提问作者Ritu Dahiya
相关产品推荐
相关产品推荐

