inner join and left join 区别
select * from a left join b on a.id=b.id
select * from a inner join b on a.id=b.id
a的记录比b多!
前一条我知道,b.id 在a里没有的话,记录就为NULL、
那第二条的记录是等于以b记录吗?
------解决方案--------------------第一条是查出左表即a表不符合条件显示为null的集合
第二条是查找出所有a表b表符合条件的,
所以第一条语句比第二条语句多一行
------解决方案--------------------left outer join ,左表中有,右表中不符合,右表值为null
inner join ,左表中有,右表中没有,不显示。
------解决方案--------------------Inner Join
Inner Join 逻辑运算符返回满足第一个(顶端)输入与第二个(底端)输入联接的每一行。
Left Outer Join
Left Outer Join 逻辑运算符返回每个满足第一个(顶端)输入与第二个(底端)输入的联接的行。它还返回任何在第二个输入中没有匹配行的第一个输入中的行。第二个输入中的非匹配行作为空值返回。如果 Argument 列内不存在任何联接谓词,则每行都是一个匹配行。
--那第二条的记录是等于以b记录吗?
这个没看明白什么意思,inner join 是只返回匹配的记录