记录数据库多表查询相关操作
给定两张表
当我们只是简单的要求提供person的一下信息时:
FirstName, LastName, City, State
我们首先想到的就是我们使用最多的语句:
select P.FirstName,P.LastName,A.City,A.State
from Person as P,Address as A
where P.PersonId=A.PersonId;
等同于内连接:
select P.FirstName,P.LastName,A.City,A.State
from Person as P inner join Address as A
on P.PersonId=A.PersonId;
如果此时加上特殊条件
无论 person 是否有地址信息,都需要基于上述两表提供 person 的这些信息
此时就不能使用where语句进行查找了,因为如果没有某个人的地址信息,使用where子句过滤记录将失败,因为它不会显示姓名信息。
此时我们就要考虑其他方法
涉及到我们之前所学到的联接
1)左联结(left join),联结结果保留左表的全部数据
2)右联结(