leetcode-SQL-175. 组合两个表

简介: leetcode-SQL-175. 组合两个表

题目

题目链接

表: Person

+-------------+---------+
| 列名         | 类型     |
+-------------+---------+
| PersonId    | int     |
| FirstName   | varchar |
| LastName    | varchar |
+-------------+---------+
personId是该表的主键列。
该表包含一些人的ID和他们的姓和名的信息。

表: Address

+-------------+---------+
| 列名         | 类型    |
+-------------+---------+
| AddressId   | int     |
| PersonId    | int     |
| City        | varchar |
| State       | varchar |
+-------------+---------+
addressId是该表的主键列。
该表的每一行都包含一个ID = PersonId的人的城市和州的信息。

编写一个SQL查询来报告 Person 表中每个人的姓、名、城市和状态。如果 personId 的地址不在 Address 表中,则报告为空 null 。

以 任意顺序 返回结果表。

查询结果格式如下所示。

示例 1:

输入: 
Person表:
+----------+----------+-----------+
| personId | lastName | firstName |
+----------+----------+-----------+
| 1        | Wang     | Allen     |
| 2        | Alice    | Bob       |
+----------+----------+-----------+
Address表:
+-----------+----------+---------------+------------+
| addressId | personId | city          | state      |
+-----------+----------+---------------+------------+
| 1         | 2        | New York City | New York   |
| 2         | 3        | Leetcode      | California |
+-----------+----------+---------------+------------+
输出: 
+-----------+----------+---------------+----------+
| firstName | lastName | city          | state    |
+-----------+----------+---------------+----------+
| Allen     | Wang     | Null          | Null     |
| Bob       | Alice    | New York City | New York |
+-----------+----------+---------------+----------+
解释: 
地址表中没有 personId = 1 的地址,所以它们的城市和州返回null。
addressId = 1 包含了 personId = 2 的地址信息。

解题

方法一:左联结

select p.firstName,p.lastName,a.city,a.state
from Person as p
left join Address as a
on p.personId=a.personId;
相关文章
|
7月前
|
SQL Go 数据库
SQL语句组合
SQL语句组合
|
7月前
|
SQL BI
sql中从不同表查询并组合数据示例
sql中从不同表查询并组合数据示例
|
SQL 关系型数据库 MySQL
SQL进阶之约束、索引
本实验带您学习SQL约束、索引、ALTER TABLE语句和AUTO INCREMENT字段的使用方法。
|
SQL 数据库 索引
SQL中,表之间的左联和右联是什么意思
SQL中,表之间的左联和右联是什么意思
142 0
【sql语句基础】——查(select)(合并查询)
【sql语句基础】——查(select)(合并查询)
【sql语句基础】——查(select)(合并查询)
|
SQL
SQL 分组查询 -简述及举例
SQL 分组查询 -简述及举例
184 0
|
存储 SQL 数据库
SQL 基础(六)多关系连接查询
SQL 基础(六)多关系连接查询
205 0
SQL 基础(六)多关系连接查询
|
SQL 关系型数据库 MySQL
【sql语句基础】——查(select)(单表查询顺序补充)
【sql语句基础】——查(select)(单表查询顺序补充)
|
SQL 搜索推荐 数据库
【每日SQL打卡】​​​​​​​​​​​DAY 2 丨组合两个表【难度简单】
【每日SQL打卡】​​​​​​​​​​​DAY 2 丨组合两个表【难度简单】
下一篇
DataWorks