题意:有两张表,一张是Person人员信息表,一张是Address地址信息表,现在需要将两张表联合,输出此人的FirstName, LastName, City, State信息。
Person表:
+-------------+---------+
| Column Name | Type |
+-------------+---------+
| PersonId | int |
| FirstName | varchar |
| LastName | varchar |
+-------------+---------+
PersonId is the primary key column for this table.
Address表:
+-------------+---------+
| Column Name | Type |
+-------------+---------+
| AddressId | int |
| PersonId | int |
| City | varchar |
| State | varchar |
+-------------+---------+
AddressId is the primary key column for this table.
这是一个典型的join函数的运用。
其中,join函数的不同运用,通过要求里的这句话——regardless if there is an address for each of those people,可以知道应该使用left join,即Person 表left join Address表, 将所有人,包括无地址的也要输出
答案如下:
SELECT Person.FirstName, Person.LastName, Address.City, Address.State
from Person
LEFT JOIN Address on Person.PersonId = Address.PersonId;