C# 组合两个表

news/2024/10/22 18:31:54/

175 组合两个表

SQL架构
表: Person

±------------±--------+
| 列名 | 类型 |
±------------±--------+
| PersonId | int |
| FirstName | varchar |
| LastName | varchar |
±------------±--------+
personId 是该表的主键列。
该表包含一些人的 ID 和他们的姓和名的信息。

表: Address

±------------±--------+
| 列名 | 类型 |
±------------±--------+
| AddressId | int |
| PersonId | int |
| City | varchar |
| State | varchar |
±------------±--------+
addressId 是该表的主键列。
该表的每一行都包含一个 ID = PersonId 的人的城市和州的信息。
编写一个SQL查询来报告 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了,也是我擅长的。

inner join:2表值都存在

outer join:附表中值可能存在null的情况。

总结:

①A inner join B:取交集

②A left join B:取A全部,B没有对应的值,则为null

③A right join B:取B全部,A没有对应的值,则为null

④A full outer join B:取并集,彼此没有对应的值为null

上代码:

select a.firstName, a.lastName, b.city, b.state from   Person a left join Address b on 
a.personId = b.personId;

以上是碰到的第一百七十五题,后续持续更新。感觉对你有帮助的小伙伴可以帮忙点个赞噢!
在这里插入图片描述


http://www.ppmy.cn/news/705888.html

相关文章

三星galaxy S4快捷功能

你不知道的s4那些快捷操作全面挖掘 1、截屏:S4有三种截屏方法: 一种是常见的同一时候按住home键和电源键大概2秒左右时间。 另外一种是打开手势感应,设定→我的设备→动作与手势→手掌动作→截取屏幕。把手掌垂直屏幕从左至右或者从右至左,像…

品牌的效应

品牌的效应 2011年04月02日 由品牌为企业带来效应,他是商业社会中企业价值延续,在当前品牌先导商业模式中,意味着商品定位、经营模式、消费族群和利润回报。 树立企业品牌需要企业有很强的资源统合能力,将企业本质一面通过品牌展…

好长的一篇Android与iPhone的对比

前言: 自iPhone在07年初次登台将智能手机直接带向移动互联时代后,一方面智能手机普及率直 线上升,另一方面整个市场目前呈现了iPhone与Android手机两强争霸的局面(Windows Phone 7还不成熟)。很多初入智能手机的人往往…

运动耳机哪个品牌好?2022年值得入手的运动耳机推荐

越来越多人加入了运动中,运动不仅可以释放压力,还能加快新陈代谢,身体更加健康,当然,随着耳机越来越各样化,越来越难挑选,大家都不知道怎么找了,一款好的耳机其实并不难找&#xff0…

【代理服务器】Squid代理服务器应用

目录 一、Squid代理服务器1.1代理的工作机制1.2代理服务器的概念1.3代理服务器的作用1.4Squid 代理的类型 二、安装Squid服务2.1编译安装Squid2.2修改 Squid 的配置文件2.3Squid运行控制2.4创建Squid服务脚本2.5 构建传统代理服务器2.6更改防火墙规则2.7验证 三、构建透明代理服…

打造自己的分布式MinIO对象存储

MinIO是一个对象存储解决方案,它提供了一个与Amazon Web Services S3兼容的API,并支持所有核心S3特性。MinIO旨在部署在任何地方——公共云或私有云、裸机基础架构、协调环境和边缘基础架构。 分布式MinIO如何工作 Server Pool由多个Minio服务节点与其附…

腾讯应用宝市场的app 安全评估报告怎么写

选择第一个, 这是腾讯应用宝后台收到有部分APP12月25日前要安全评估报告,然后前往》全国互联网安全管理服务平台然后在里面碰到的吧 发现魅族12月23日也要提交这个东西 目前已知的需要安全评估报告的安卓市场有金立、应用宝、魅族、三星、安智、木蚂蚁几…

企业版腾讯应用宝开发者账号审请流程

## 企业版腾讯应用宝开发者账号审请流程一、首先打开腾讯应用宝开发者平台 ,网址:https://wiki.open.qq.com/wiki/%E6%B3%A8%E5%86%8C%E5%BC%80%E5%8F%91%E8%80%85%E5%B8%90%E5%8F%B7 二、用公司已有的QQ号进行登陆后,开发者帐号登录成功后会…