LeetCode 175. Combine Two Tables

https://leetcode.com/problems/combine-two-tables/description/less

Table: Personide

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| PersonId    | int     |
| FirstName   | varchar |
| LastName    | varchar |
+-------------+---------+
PersonId is the primary key column for this table.

Table: Addressthis

+-------------+---------+
| 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:spa

FirstName, LastName, City, State

 
 
  • Since the PersonId in table Address is the foreign key of table Person, we can join this two table to get the address information of a person. code

  • Considering there might not be an address information for every person, we should use outer join instead of the default inner join.orm

  • Note: Using where clause to filter the records will fail if there is no address information for a person because it will not display the name information.

 

 1 Create table If Not Exists Person (PersonId int, FirstName varchar(255), LastName varchar(255));
 2 Create table If Not Exists Address (AddressId int, PersonId int, City varchar(255), State varchar(255));
 3 Truncate table Person;
 4 insert into Person (PersonId, LastName, FirstName) values ('1', 'Wang', 'Allen');
 5 Truncate table Address;
 6 insert into Address (AddressId, PersonId, City, State) values ('1', '2', 'New York City', 'New York');
 7 
 8 # Write your MySQL query statement below
 9 select P.FirstName, P.LastName, A.City, A.State 
10 from Person P left join Address A 
11 on P.PersonId = A.PersonId;
View Code
相關文章
相關標籤/搜索