力扣数据库——组合两个表

175. 组合两个表https://leetcode.cn/problems/combine-two-tables/

一 题目

表: 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

任意顺序 返回结果表。

二 示例输出

示例 1:

复制代码
输入: 
Person表:
+----------+----------+-----------+
| personId | lastName | firstName |
+----------+----------+-----------+
| 1        | Wang     | Allen     |
| 2        | Alice    | Bob       |
+----------+----------+-----------+
Address表:
+-----------+----------+---------------+------------+
| addressId | personId | city          | state      |
+-----------+----------+---------------+------------+
| 1         | 2        | New York City | New York   |
| 2         | 3        | Leetcode      | California |
+-----------+----------+---------------+------------+
输出: 
+-----------+----------+---------------+----------+
| firstName | lastName | city          | state    |
+-----------+----------+---------------+----------+
| Allen     | Wang     | Null          | Null     |
| Bob       | Alice    | New York City | New York |
+-----------+----------+---------------+----------+
解释: 
地址表中没有 personId = 1 的地址,所以它们的城市和州返回 null。
addressId = 1 包含了 personId = 2 的地址信息。

三 结果

sql 复制代码
SELECT
    p.FirstName,
    p.LastName,
    a.City,
    a.State
FROM
    Person p
LEFT JOIN
    Address a ON p.PersonId = a.PersonId;
相关推荐
证榜样呀10 分钟前
2026 中专大数据技术专业可考的证书有哪些,必看!
大数据·sql
啊阿狸不会拉杆15 分钟前
《机器学习导论》第 5 章-多元方法
人工智能·python·算法·机器学习·numpy·matplotlib·多元方法
Codefengfeng18 分钟前
数据安全知识点速通
sql
R1nG8631 小时前
CANN资源泄漏检测工具源码深度解读 实战设备内存泄漏排查
数据库·算法·cann
_OP_CHEN1 小时前
【算法基础篇】(五十六)容斥原理指南:从集合计数到算法实战,解决组合数学的 “重叠难题”!
算法·蓝桥杯·c/c++·组合数学·容斥原理·算法竞赛·acm/icpc
TracyCoder1231 小时前
LeetCode Hot100(27/100)——94. 二叉树的中序遍历
算法·leetcode
九.九1 小时前
CANN HCOMM 底层机制深度解析:集合通信算法实现、RoCE 网络协议栈优化与多级同步原语
网络·网络协议·算法
C++ 老炮儿的技术栈2 小时前
Qt Creator中不写代如何设置 QLabel的颜色
c语言·开发语言·c++·qt·算法
逍遥德2 小时前
Sring事务详解之02.如何使用编程式事务?
java·服务器·数据库·后端·sql·spring