SQL实现LeetCode(175.联合两表)


Posted in MySQL onAugust 04, 2021

[LeetCode] 175.Combine Two Tables 联合两表

Table: Person

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| PersonId    | int     |
| FirstName   | varchar |
| LastName    | varchar |
+-------------+---------+
PersonId is the primary key column for this table.

Table: Address

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| AddressId   | int     |
| PersonId    | int     |
| City        | varchar |
| State       | varchar |
+-------------+---------+
AddressId is the primary key column for this table.

Write a SQL query for a report that provides the following information for each person in the Person table, regardless if there is an address for each of those people:

FirstName, LastName, City, State

LeetCode还出了是来到数据库的题,来那么也来做做吧,这道题是第一道,相对来说比较简单,是一道两表联合查找的问题,我们需要用到Join操作,关于一些Join操作可以看我之前的博客SQL Left Join, Right Join, Inner Join, and Natural Join 各种Join小结,最直接的方法就是用Left Join来做,根据PersonId这项来把两个表联合起来:

解法一:

SELECT Person.FirstName, Person.LastName, Address.City, Address.State FROM Person LEFT JOIN Address ON Person.PersonId = Address.PersonId;

在使用Left Join时,我们也可以使用关键Using来声明我们相用哪个列名来进行联合:

解法二:

SELECT Person.FirstName, Person.LastName, Address.City, Address.State FROM Person LEFT JOIN Address USING(PersonId);

或者我们可以加上Natural关键字,这样我们就不用声明具体的列,MySQL可以自行搜索相同的列:

解法三:

SELECT Person.FirstName, Person.LastName, Address.City, Address.State FROM Person NATURAL LEFT JOIN Address;

参考资料:

https://leetcode.com/discuss/21216/its-a-simple-question-of-left-join-my-solution-attached

https://leetcode.com/discuss/53001/comparative-solution-between-left-using-natural-left-join

到此这篇关于SQL实现LeetCode(175.联合两表)的文章就介绍到这了,更多相关SQL实现联合两表内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
mysql优化
Apr 06 MySQL
Mysql中 unique列插入重复值该怎么解决呢
May 26 MySQL
MySQL不使用order by实现排名的三种思路总结
Jun 02 MySQL
mysql 带多个条件的查询方式
Jun 05 MySQL
mysql 如何获取两个集合的交集/差集/并集
Jun 08 MySQL
SQL基础的查询语句
Nov 11 MySQL
mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
Feb 12 MySQL
Arthas排查Kubernetes中应用频繁挂掉重启异常
Feb 28 MySQL
一条慢SQL语句引发的改造之路
Mar 16 MySQL
MySQL 分区表中分区键为什么必须是主键的一部分
Mar 17 MySQL
MySQL数据库安装方法与图形化管理工具介绍
May 30 MySQL
mysql全面解析json/数组
Jul 07 MySQL
一篇文章带你深入了解Mysql触发器
Aug 02 #MySQL
sql注入教程之类型以及提交注入
MySQL子查询中order by不生效问题的解决方法
Aug 02 #MySQL
MySQL中utf8mb4排序规则示例
Aug 02 #MySQL
MySql子查询IN的执行和优化的实现
MySQL里面的子查询的基本使用
Aug 02 #MySQL
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
Aug 02 #MySQL
You might like
php中多维数组按指定value排序的实现代码
2014/08/19 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
2018/08/07 PHP
设定php简写功能的方法
2019/11/28 PHP
区分JS中的undefined,null,"",0和false
2007/03/08 Javascript
提取字符串中年月日的函数代码
2013/11/05 Javascript
jquery 删除cookie失效的解决方法
2013/11/12 Javascript
JS实现网页标题随机显示名人名言的方法
2015/11/03 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
JavaScript交换两个变量值的七种解决方案
2016/12/01 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
angular基于ng-alain定义自己的select组件示例
2018/02/23 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
详解vue中使用vue-quill-editor富文本小结(图片上传)
2019/04/24 Javascript
深入理解python函数递归和生成器
2016/06/06 Python
Python实现自动添加脚本头信息的示例代码
2016/09/02 Python
Python使用QRCode模块生成二维码实例详解
2017/06/14 Python
Python实现的读取/更改/写入xml文件操作示例
2018/08/30 Python
Pythony运维入门之Socket网络编程详解
2019/04/15 Python
简单了解python元组tuple相关原理
2019/12/02 Python
keras打印loss对权重的导数方式
2020/06/10 Python
python爬取微博评论的实例讲解
2021/01/15 Python
html5中的input新属性range使用记录
2014/09/05 HTML / CSS
德国低价购买灯具和家具网站:Style-home.de
2016/11/25 全球购物
巴西最大的家具及装饰用品店:Mobly
2017/10/11 全球购物
Burt’s Bees英国官网:世界领先的天然个人护理品牌
2020/08/17 全球购物
如何查找和删除数据库中的重复数据
2014/11/05 面试题
教你怎样写好自我评价
2013/10/05 职场文书
车工岗位职责
2013/11/26 职场文书
铲车司机岗位职责
2014/03/15 职场文书
爱心助学感谢信
2015/01/21 职场文书
南京导游词
2015/02/03 职场文书
2015年绩效考核工作总结
2015/05/23 职场文书
网络新闻该怎么写?这些写作技巧你都知道吗?
2019/08/26 职场文书
Python实现GIF动图以及视频卡通化详解
2021/12/06 Python
Docker安装MySql8并远程访问的实现
2022/07/07 Servers