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



解答:很简单的一道题目,就是一个联表查询,但是第一次提交错误,原因是没有注意红色字的部分,对于Person表中的数据,是可以没有地址的,所以要改用左联查询。

# Write your MySQL query statement below
SELECT FirstName, LastName, City, State FROM Person LEFT JOIN Address ON  Person.PersonId=Address.PersonId

也可以用USING字段,可以用如下查询语句:

# Write your MySQL query statement below
SELECT FirstName, LastName, City, State FROM Person LEFT JOIN Address USING(PersonId)