SQL左右连接中的on and和on where的区别

Posted JackMa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL左右连接中的on and和on where的区别相关的知识,希望对你有一定的参考价值。

SQL左右连接中的on and和on where的区别

左联时,ON后面的对左边表的条件对左边表数据无影响(因为左连接符合左边所有条件),但对右边表数据有影响,只有符合左边表条件时,右边表数据才会查出来
where 后面对两个表都有影响(影响全局的)

 

SELECT * FROM `user` us LEFT JOIN department de ON us.depart_id=de.id and us.depart_id=6‘(on and 符合左边表所有条件,and后面无作用



SELECT * FROM `user` us LEFT JOIN department de ON us.depart_id=de.id where us.depart_id=6‘(on where 对全部表有限制)

 

简单一句话:on and:符合左表所有条件,on where:对全部表有限制

以上是关于SQL左右连接中的on and和on where的区别的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL 表左连接 ON AND 和ON WHERE 的区别

SQL on and 和 on where 的区别

sql中在使用left join 时 on and 和on where 的区别

sql中where的与jnner join on的连接条件.哪个优先级别高?

在 SQL/MySQL 中,join 语句中的“ON”和“WHERE”有啥区别?

Sql_连接查询中on筛选与where筛选的区别