关于Left join

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Left join相关的知识,希望对你有一定的参考价值。

Sql关联表时条件放在On或者where上结果是不一样的。

1.放在on上 如下

select S.StoreID,* from BizProductItem as P
left join BizStore as S on P.ProductCode=S.ProductCode and S.StoreID = ‘BJ-warehouse‘
where P.IsValid=‘1‘ and P.Status = ‘0‘ and P.ProductCode like ‘B%‘
order by P.ProductCode

 

表示先取出符合条件的数据再关联

 

2.放在where上表时用全部数据关联,再取出符合条件的数据

select S.StoreID,* from BizProductItem as P
left join BizStore as S on P.ProductCode=S.ProductCode
where P.IsValid=‘1‘ and P.Status = ‘0‘ and S.StoreID = ‘BJ-warehouse‘ and P.ProductCode like ‘B%‘
order by P.ProductCode

 

两种查询的结果不同

 

以上是关于关于Left join的主要内容,如果未能解决你的问题,请参考以下文章

关于SQL 查询效率问题 left join 改成 inner join union

关于Left join

关于VF中select left(right) join的准确用法

关于hive中Map join 时大表left join小表的问题

关于 LEFT JOIN SQL 查询的 WHERE 帮助

关于 MySQL LEFT JOIN 你可能需要了解的三点