175. Combine Two Tables

来源:互联网 发布:linux c 调用sh脚本 编辑:程序博客网 时间:2024/06/16 08:46

题目:

Person

Column Name Type PersonId int FirstName varchar LastName varchar

PersonId是该表的主键。


Address

Column Name Type AddressId int PersonId int City varchar State varchar

PersonId是该表的主键。


输出以下指定表头的信息。注意如果人物信息对应的地址为空,则输出空。

FirstName LastName City State

解析:

从表Person和表Address的结构来看,FirstNameLastName是属于表Person中的属性,而CityState则是属于表Address中的属性。
同时PersonId可以作为两个表的外键,将两个表连接起来。

select Person.Firstname,Person.Lastname,Address.City,Address.Statefrom Personleft JOIN  Addresson Person.PersonId=address.PersonId

要格外注意,这里要是用left join而不是join。因为,题目要求,不管表Person中的人是否在Address表中有对应的地址信息,最后都应该输出(没有的就为空)。因此,需要左连接,以Person表为准,连接Address表

原创粉丝点击