SQL每日一题:组合两个表

题干

表: Person

±------------±--------+

| 列名 | 类型 |

±------------±--------+

| PersonId | int |

| FirstName | varchar |

| LastName | varchar |

±------------±--------+

personId 是该表的主键(具有唯一值的列)。

该表包含一些人的 ID 和他们的姓和名的信息。

表: Address

±------------±--------+

| 列名 | 类型 |

±------------±--------+

| AddressId | int |

| PersonId | int |

| City | varchar |

| State | varchar |

±------------±--------+

addressId 是该表的主键(具有唯一值的列)。

该表的每一行都包含一个 ID = PersonId 的人的城市和州的信息。

编写解决方案,报告 Person 表中每个人的姓、名、城市和州。如果 personId 的地址不在 Address 表中,则报告为 null 。以 任意顺序 返回结果表。结果格式如下所示。

示例

解答

简单的左链接便可以处理

sql 复制代码
select firstname ,lastname,city,state from person as p 
left join address as a on p.personid=a.personid
相关推荐
i***27958 分钟前
nacos2.3.0 接入pgsql或其他数据库
数据库
2501_9412362114 分钟前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
Deamon Tree22 分钟前
kafka延迟队列是怎么实现的
数据库·kafka·linq
o***369329 分钟前
【玩转全栈】----Django基本配置和介绍
数据库·django·sqlite
2501_941111341 小时前
实战:用OpenCV和Python进行人脸识别
jvm·数据库·python
q***04051 小时前
MySQL 数据类型详解:TINYINT、INT 和 BIGINT
数据库·mysql
e***58231 小时前
MySQL如何执行.sql 文件:详细教学指南
数据库·mysql
z***3351 小时前
redis清理缓存
数据库·redis·缓存
CS_浮鱼1 小时前
【Linux】进程间通信
linux·运维·数据库
2501_941111511 小时前
Python多线程与多进程:如何选择?(GIL全局解释器锁详解)
jvm·数据库·python