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
相关推荐
zhangchaoxies28 分钟前
MySQL触发器能否监控特定用户操作_结合审计功能实现分析
jvm·数据库·python
chushiyunen32 分钟前
faiss向量检索库(并非向量数据库)
数据库·faiss
qq_4135020243 分钟前
如何解决ORA-12518监听程序无法分配进程_内存耗尽与PGA溢出
jvm·数据库·python
Carsene1 小时前
第一章:为什么我们需要“类型安全”的 SQL DSL 框架?
java·sql
Mr_pyx1 小时前
Java 注解(Annotation)详解:从基础到 APT 实战
java·数据库·sqlserver
djjdjdjdjjdj1 小时前
如何用参数解构在函数入口处直接提取对象属性
jvm·数据库·python
forEverPlume2 小时前
mysql如何批量增加表的字段_脚本化DDL操作实践
jvm·数据库·python
精益数智工坊2 小时前
物料管理是什么?物料管理的具体工作有哪些?
大数据·前端·数据库·人工智能·精益工程
m0_596406372 小时前
CSS如何高效引入样式表_对比link标签与import指令的性能差异
jvm·数据库·python
行云的逆袭2 小时前
树莓派4B安装adminer数据库简易工具
数据库