合并两个表:
编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于下述两表提供 person 的以下信息:
答:
select FirstName, LastName, City, State form Address
from Person left join Address
on Person.PersonID = Address.PersonID
为啥不用Where?
- 因为where的实质就是根据你给的条件(personID相等),选取两表的公共部分。但是,因为PERSON表不是所有人都有地址信息的,但是ADDRESS表只显示有地址信息的人,这样选取出来的就是有地址信息的人,漏掉了没有地址信息的人。所以大家注意,where的本质就是过滤。
- join on 使用用来连接表,如果想保留左表的所有内容就用lef join,右表的内容用right join。 where 单独使用类似于inner join