https://leetcode.com/problemset/database/
ACM退役,刚好要学sql,一定要刷题才行,leetcode吧。
这一题,说了两个表,一个左一个右吧,左边的personId是唯一的,但是右边的PersonId是不唯一的,所以不去重。
然后,总结下各种join的用法。
1、inner join,On XXX,需要左边有,右边也有,就输出该行。
2、outer join / 有些书叫 full join,左边有,右边没,也输出,右边没的就用NULL代替。同理右边有,左边没,也输出。也是NULL
3、left join,如果左边有,右边没,就输出NULL,但是右边有,左边没,不输出。这题用了这个。
4、right join,同理,右边有,左边没,也输出。
# Write your MySQL query statement below select FirstName, LastName, City, State from Person left join Address on Person.PersonId = Address.PersonId;