表1: Person
+-------------+---------+ | 列名 | 类型 | +-------------+---------+ | PersonId | int | | FirstName | varchar | | LastName | varchar | +-------------+---------+ PersonId 是上表主键
表2: Address
+-------------+---------+ | 列名 | 类型 | +-------------+---------+ | AddressId | int | | PersonId | int | | City | varchar | | State | varchar | +-------------+---------+ AddressId 是上表主键
编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:
FirstName, LastName, City, State
解答==========leetCode 数据库的简单操作==========右连接或者是左连接是的产生一个临时表===》再根据条件去查询对应的结果
由查询满足条件,无论person 是否有地址信息,可看出联结是以person表为准,用Person left join Address或者Address right join Person即可。
(由于一开始以为左连接和右连接都可以,后来发现应该采用左连接,因为是以表Person为主,所以把表Address 接在Person 表的左边)
SELECT Person.FirstName,Person.LastName, Address.City, Address.State FROM Person LEFT JOIN Address ON Person.PersonId=Address.PersonId;