pg中join,left join的使用,将条件放到on和where后面的区别问题

Posted 月图灵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pg中join,left join的使用,将条件放到on和where后面的区别问题相关的知识,希望对你有一定的参考价值。

postgresql中left join中将条件放入 on和where的区别。
1.on是肯定会返回左表的数据,所以在on里面的条件都会返回,如果想要过滤数据则需要在where中加条件
2.由于 inner join是两表都有的,所以,返回的结果是和where条件一样的。

示例:
select * form tab1 left join tab2 on (tab1.size = tab2.size) where tab2.name=’AAA’
select * form tab1 left join tab2 on (tab1.size = tab2.size and tab2.name=’AAA’)

以上是关于pg中join,left join的使用,将条件放到on和where后面的区别问题的主要内容,如果未能解决你的问题,请参考以下文章

如何取得left join的第二表中符合条件的第一条记录?

深入Oracle的left join中on和where的区别详解

mysql多表left join联合查询效率问题5

创建一个视图,让您向 LEFT JOIN ... ON? 添加条件?

MySql 之 left join 查询结果

SQL中left join on 、right join on、inner join on之间的区别