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连接挂死的原因
May 18 MySQL
MySQL连接控制插件介绍
Sep 25 MySQL
MySQL 数据类型详情
Nov 11 MySQL
浅谈MySql整型索引和字符串索引失效或隐式转换问题
Nov 20 MySQL
weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法
Jan 22 MySQL
MySQL学习之基础命令实操总结
Mar 19 MySQL
详解MySQL的主键查询为什么这么快
Apr 03 MySQL
Mysql排查分析慢sql之explain实战案例
Apr 19 MySQL
mysql 子查询的使用
Apr 28 MySQL
讲解MySQL增删改操作
May 06 MySQL
MySQL脏读,幻读和不可重复读
May 11 MySQL
MySQL优化之慢日志查询
Jun 10 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
xml在joomla表单中的应用详解分享
2012/07/19 PHP
php格式输出文件var_export函数实例
2014/11/15 PHP
php将图片文件转换成二进制输出的方法
2015/06/10 PHP
PHP-FPM运行状态的实时查看及监控详解
2016/11/18 PHP
php 根据自增id创建唯一编号类
2017/04/06 PHP
PHP环形链表实现方法示例
2017/09/15 PHP
javascript 命名空间以提高代码重用性
2008/11/13 Javascript
利用js获取服务器时间的两个简单方法
2010/01/08 Javascript
jQuery之日期选择器的深入解析
2013/06/19 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
2013/11/14 Javascript
如何在指定的地方插入html内容和文本内容
2013/12/23 Javascript
jQuery源码解读之hasClass()方法分析
2015/02/20 Javascript
PHP守护进程实例
2015/03/06 Javascript
简述JavaScript对传统文档对象模型的支持
2015/06/16 Javascript
layui表格数据重载
2019/07/27 Javascript
Element图表初始大小及窗口自适应实现
2020/07/10 Javascript
python开发之基于thread线程搜索本地文件的方法
2015/11/11 Python
python利用sklearn包编写决策树源代码
2017/12/21 Python
Python自然语言处理 NLTK 库用法入门教程【经典】
2018/06/26 Python
Python解析、提取url关键字的实例详解
2018/12/17 Python
python PrettyTable模块的安装与简单应用
2019/01/11 Python
python实现抖音点赞功能
2019/04/07 Python
如何将 awk 脚本移植到 Python
2019/12/09 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
2020/07/21 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
2021/02/07 Python
HomeAway的巴西品牌:Alugue Temporada
2018/04/10 全球购物
软件测试企业面试试卷
2016/07/13 面试题
酒店总经理助理职责
2014/02/12 职场文书
2014三八妇女节活动总结范文四篇
2014/03/09 职场文书
个人工作表现评语
2014/04/30 职场文书
乡镇四风对照检查材料
2014/08/31 职场文书
学校领导班子成员查摆问题及整改措施
2014/10/28 职场文书
一年级数学下册复习计划
2015/01/17 职场文书
北京故宫导游词
2015/01/31 职场文书
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android
Java实现贪吃蛇游戏的示例代码
2022/09/23 Java/Android