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
相关推荐
山岚的运维笔记23 分钟前
SQL Server笔记 -- 第68章:内存中 OLTP(Hekaton)
数据库·笔记·sql·microsoft·sqlserver
java能飞翔1 小时前
在CentOS环境下修改mysql密码
sql
山岚的运维笔记1 小时前
SQL Server笔记 -- 第67章:数据库邮件(DBMAIL)
数据库·笔记·sql·microsoft·sqlserver
kylezhao20192 小时前
C#异步和并发在IO密集场景的典型应用 async/await
开发语言·数据库·c#
野犬寒鸦2 小时前
ArrayList扩容机制深度解析(附时序图详细讲解)
java·服务器·数据结构·数据库·windows·后端
专注VB编程开发20年3 小时前
c# CSRedisCore vb.net清空所有键值
数据库·oracle
程序边界3 小时前
数据库MySQL兼容版权限隔离深度体验:从兼容到安全增强的实战之路
数据库·mysql·安全
Victoria.a3 小时前
Mysql基础
数据库·mysql
码云数智-大飞4 小时前
.NET 10 & C# 14 新特性详解:扩展成员 (Extension Members) 全面指南
java·数据库·算法
枫叶丹44 小时前
【Qt开发】Qt界面优化(五)-> Qt样式表(QSS) 子控件选择器
c语言·开发语言·数据库·c++·qt