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
相关推荐
倔强的石头_1 分钟前
金仓多模数据库平替 MongoDB:电子证照国产化的技术实操与价值突破
数据库
Go高并发架构_王工5 分钟前
MySQL性能优化案例分析:从问题到解决方案
数据库·mysql·性能优化
二十三之歌28 分钟前
Redis 中文学习手册
数据库·redis·学习
web安全工具库1 小时前
告别刀耕火种:用 Makefile 自动化 C 语言项目编译
linux·运维·c语言·开发语言·数据库·算法·自动化
disanleya1 小时前
怎样安全地开启MySQL远程管理权限?
数据库·mysql
【非典型Coder】2 小时前
Statement和PreparedStatement区别
数据库
m0_736927043 小时前
想抓PostgreSQL里的慢SQL?pg_stat_statements基础黑匣子和pg_stat_monitor时间窗,谁能帮你更准揪出性能小偷?
java·数据库·sql·postgresql
lang201509283 小时前
MySQL 8.0.29 及以上版本中 SSL/TLS 会话复用(Session Reuse)
数据库·mysql
望获linux3 小时前
【实时Linux实战系列】使用 u-trace 或 a-trace 进行用户态应用剖析
java·linux·前端·网络·数据库·elasticsearch·操作系统
清和与九4 小时前
binLog、redoLog和undoLog的区别
数据库·oracle