服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - SQL实现LeetCode(175.联合两表)

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

2021-09-13 17:42Grandyang Mysql

这篇文章主要介绍了SQL实现LeetCode(175.联合两表),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

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

[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实现联合两表内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/grandyang/p/5348900.html

延伸 · 阅读

精彩推荐
  • Mysql简单讲解MySQL的数据库复制方法

    简单讲解MySQL的数据库复制方法

    这篇文章主要介绍了简单讲解MySQL的数据库复制方法,利用到了常见的mysqldump工具,需要的朋友可以参考下 ...

    冰&红&茶5332020-05-25
  • Mysql有关mysql的一些小技巧

    有关mysql的一些小技巧

    有关mysql的一些小技巧,有需要的朋友可以参考下 ...

    MYSQL教程网4682019-12-17
  • MysqlMySQL5.7.10 安装文档教程详解

    MySQL5.7.10 安装文档教程详解

    这篇文章主要介绍了MySQL5.7.10 安装文档教程详解,需要的朋友可以参考下...

    qq_315282894682020-07-16
  • Mysql基于MySQL到MongoDB简易对照表的详解

    基于MySQL到MongoDB简易对照表的详解

    本篇文章是对从MySQL到MongoDB的简易对照表进行了详细的分析介绍,需要的朋友参考下 ...

    MYSQL教程网2722020-03-28
  • Mysql分析MySQL抛出异常的几种常见解决方式

    分析MySQL抛出异常的几种常见解决方式

    在本文中,总结了开发过程中最为常见的几种 MySQL 抛出的异常以及如何解决,包括高版本驱动的问题、时区配置问题、SSL 连接问题等。于我个人而言,这...

    华为云开发者社区10522021-07-16
  • MysqlMySQL数据库中的安全设置方案

    MySQL数据库中的安全设置方案

    MySQL 是一个真正的多用户、多线程SQL数据库服务器,它是一个客户机/服务器结构的实现。MySQL是现在流行的关系数据库中其中的一种,相比其它的数据库管...

    MYSQL教程网3862020-05-04
  • MysqlMysql 5.6.24安装实例教程

    Mysql 5.6.24安装实例教程

    这篇文章主要介绍了Mysql 5.6.24安装实例教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下 ...

    鹰之蜕变4422020-07-05
  • Mysql关于MySQL 优化的100个的建议

    关于MySQL 优化的100个的建议

    MYSQL 如此方便和稳定,以至于我们在开发 WEB 程序的时候很少想到它。即使想到优化也是程序级别的,比如,不要写过于消耗资源的 SQL 语句。但是除此之外...

    MYSQL教程网2612020-05-29