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 27 MySQL
MySQL 重写查询语句的三种策略
May 10 MySQL
MySQL 自定义变量的概念及特点
May 13 MySQL
修改MySQL的默认密码的四种小方法
May 26 MySQL
Mysql systemctl start mysqld报错的问题解决
Jun 03 MySQL
MySQL系列之三 基础篇
Jul 02 MySQL
MySQL中int (10) 和 int (11) 的区别
Jan 22 MySQL
一文弄懂MySQL索引创建原则
Feb 28 MySQL
Mysql如何实现不存在则插入,存在则更新
Mar 25 MySQL
Mysql 如何合理地统计一个数据库里的所有表的数据量
Apr 18 MySQL
CentOS MySql8 远程连接实战
Apr 19 MySQL
delete in子查询不走索引问题分析
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中的类型约束介绍
2015/05/11 PHP
JavaScript 产生不重复的随机数三种实现思路
2012/12/13 Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
2013/09/10 Javascript
jquery判断当前浏览器的实现代码
2015/11/07 Javascript
基于jQuery的ajax方法封装
2016/07/14 Javascript
解决IE7中使用jQuery动态操作name问题
2017/08/28 jQuery
vue打包后显示空白正确处理方法
2017/11/01 Javascript
解决layer弹层遮罩挡住窗体的问题
2018/08/17 Javascript
配置eslint规范项目代码风格
2019/03/11 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
[00:37]2016完美“圣”典风云人物:AMS宣传片
2016/12/06 DOTA
Python import自定义模块方法
2015/02/12 Python
Python中set与frozenset方法和区别详解
2016/05/23 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
2018/04/21 Python
基于python绘制科赫雪花
2018/06/22 Python
浅谈利用numpy对矩阵进行归一化处理的方法
2018/07/11 Python
python实现K近邻回归,采用等权重和不等权重的方法
2019/01/23 Python
Python标准库使用OrderedDict类的实例讲解
2019/02/14 Python
python 计算数据偏差和峰度的方法
2019/06/29 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
python爬虫 urllib模块反爬虫机制UA详解
2019/08/20 Python
在Python中使用filter去除列表中值为假及空字符串的例子
2019/11/18 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
2020/03/09 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
2020/06/04 Python
详解HTML5布局和HTML5标签
2020/10/26 HTML / CSS
美国知名艺术画网站:Art.com
2017/02/09 全球购物
CPB肌肤之钥美国官网:Clé de Peau Beauté
2017/09/05 全球购物
英国男士时尚购物网站:Stuarts London
2017/10/22 全球购物
迷你唐卡软皮鞋:Minnetonka Moccasin
2018/05/01 全球购物
个人专业技术总结
2015/03/05 职场文书
2015年银行大堂经理工作总结
2015/04/24 职场文书
2015团员个人年度总结
2015/11/24 职场文书
解决Nginx 配置 proxy_pass 后 返回404问题
2021/03/31 Servers
windows11怎么查看wifi密码? win11查看wifi密码的技巧
2021/11/21 数码科技