SQL—leetcode—175. 组合两个表

embedded/2024/12/27 10:05:10/

175. 组合两个表

表: 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 的地址信息。

题解

根据输入和输出分析推断,出现了多表字段融合,首先考虑join操作
因输出结果中存在右表为null值的情况,所以需要选择left join,左外连接即可。

sql">-- 参考sql样例select t1.firstname,t1.lastname,t2.city,t2.state
from person t1
left join address t2 on t1.personid = t2.personid

http://www.ppmy.cn/embedded/148827.html

相关文章

探索Flink动态CEP:杭州银行的实战案例

摘要:本文撰写自杭州银行大数据工程师唐占峰、欧阳武林老师。将介绍 Flink 动态 CEP的定义与核心概念、应用场景、并深入探讨其技术实现并介绍使用方式。主要分为以下几个内容: Flink动态CEP简介 Flink动态CEP的应用场景 Flink动态CEP的技术实现 Flin…

UniApp作为前端开发框架,基于Vue.js 的 AI 教学类App开发方案

AI教学类App开发方案 一、技术选型 (一)前端框架 选择UniApp作为前端开发框架,它基于Vue.js,能够一套代码同时编译生成适用于Android和iOS的应用程序,大大提高了开发效率,减少了开发成本。Vue.js具有简洁的语法、灵活的数据绑定和组件化开发的优势,方便构建用户界面和…

【递归与回溯深度解析:经典题解精讲(上篇)】—— LeetCode

文章目录 全排列子集找出所有子集的异或总和再求和全排列||电话号码的字母组合括号生成 全排列 解题思路 这是一道典型的 回溯(Backtracking)问题,我们需要枚举所有可能的子集。关键点是每个数字都有两种选择:要么包含&#xff0c…

一文了解Oracle数据库如何连接(2)

上一篇文章介绍了oracle常用的四种链接方式:专用模式,会话池,DRCP和共享模式,原文链接 一文了解Oracle数据库如何连接(1) - 墨天轮 除了以上四种常规链接模式,还有三种高级模式本文在这里再做一…

HarmonyOS NEXT 实战之元服务:静态多案例效果(一)

背景: 前几篇学习了元服务,后面几期就让我们开发简单的元服务吧,里面丰富的内容大家自己加,本期案例 仅供参考 先上本期效果图 ,里面图片自行替换 效果图1代码案例如下: import { authentication } from…

12_HTML5 Video(视频) --[HTML5 API 学习之旅]

HTML5 引入了 <video> 标签&#xff0c;使得在网页中嵌入和控制视频变得非常简单。<video> 元素允许你直接在 HTML 中指定视频文件&#xff0c;并提供了多种属性和方法来控制视频的播放、暂停、音量等。 基本用法 HTML5 的 <video> 标签让嵌入和控制视频变…

Linux系统下安装webstorm

一、首先在官网下载webstorm下载安装包网址&#xff1a; Download WebStorm: The JavaScript and TypeScript IDE by JetBrains 下载后文件名&#xff1a;WebStorm-2024.3.1.1.tar.gz&#xff0c; 文件路径&#xff1a;/home/oem/桌面/tool/WebStorm/WebStorm-2024.3.1.1.tar…

主题交换机简单实现

运行代码 package com.by.consumer;import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.*; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.context.annotation.Bean; import org.springframework.con…