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 05 MySQL
mysql知识点整理
Apr 05 MySQL
Idea连接MySQL数据库出现中文乱码的问题
Apr 14 MySQL
MySQL Router的安装部署
Apr 24 MySQL
ORM模型框架操作mysql数据库的方法
Jul 25 MySQL
一次MySQL启动导致的事故实战记录
Sep 15 MySQL
MySQL七种JOIN类型小结
Oct 24 MySQL
mysql事务隔离级别详情
Oct 24 MySQL
分享mysql的current_timestamp小坑及解决
Nov 27 MySQL
MySQL 执行数据库更新update操作的时候数据库卡死了
May 02 MySQL
讲解MySQL增删改操作
May 06 MySQL
MySQL导致索引失效的几种情况
Jun 25 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
第十三节 对象串行化 [13]
2006/10/09 PHP
php jquery 实现新闻标签分类与无刷新分页
2009/12/18 PHP
php的XML文件解释类应用实例
2014/09/22 PHP
分享PHP函数实现数字与文字分页代码
2015/07/28 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
jQuery如何获取同一个类标签的所有值(默认无法获取)
2014/09/25 Javascript
跟我学习javascript的隐式强制转换
2015/11/16 Javascript
跟我学习javascript解决异步编程异常方案
2015/11/23 Javascript
Angular发布1.5正式版,专注于向Angular 2的过渡
2016/02/18 Javascript
详解nodejs 文本操作模块-fs模块(一)
2016/12/22 NodeJs
详解vue移动端日期选择组件
2018/02/22 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
2018/03/20 Javascript
关于React动态加载路由处理的相关问题
2019/01/07 Javascript
js prototype深入理解及应用实例分析
2019/11/25 Javascript
vue实现简易的双向数据绑定
2020/12/29 Vue.js
Python的Flask框架中实现登录用户的个人资料和头像的教程
2015/04/20 Python
Python内置函数 next的具体使用方法
2017/11/24 Python
网红编程语言Python将纳入高考你怎么看?
2018/06/07 Python
Python I/O与进程的详细讲解
2019/03/08 Python
python 字段拆分详解
2019/12/17 Python
Python如何把Spark数据写入ElasticSearch
2020/04/18 Python
用python批量下载apk
2020/12/29 Python
Toppik顶丰增发纤维官网:解决头发稀疏
2017/12/30 全球购物
巴西补充剂和维生素购物网站:Natue
2019/06/17 全球购物
服装厂厂长岗位职责
2013/12/27 职场文书
企业元宵节主持词
2014/03/25 职场文书
慈善捐赠倡议书
2014/08/30 职场文书
给客户的感谢信
2015/01/21 职场文书
南京导游词
2015/02/03 职场文书
门卫岗位职责
2015/02/09 职场文书
萤火虫之墓观后感
2015/06/05 职场文书
莫言获奖感言(全文)
2015/07/31 职场文书
观看安全警示教育片心得体会
2016/01/15 职场文书
电工生产实习心得体会
2016/01/22 职场文书
Python基础之hashlib模块详解
2021/05/06 Python