题目来源:https://leetcode.com/problems/combine-two-tables/
以上为数据库表的介绍,有Person与Address两种,前者以PersonId为主码,后者以AddressId为主码。
题目要求为:
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
注意到要求输出所有的人对应的地址(无论在地址表中有没有这个PersonId都要输出此人,一开始没注意到结果用了natural join)
此处应该使用Person LEFT OUTER JOIN Address。
代码如下:
SELECT a.FirstName, a.LastName, b.City, b.State FROM Person a LEFT OUTER JOIN Address b USING (PersonId)
PS:
不注明USING (PersonId)会在Person为空时出错,其实我也说不清楚原因。。反正以后多注意就是了