SQL JOIN 中 on 与 where 的区别

2021-08-16  本文已影响0人  我要进大厂

SQL JOIN 中 on 与 where 的区别

image

关键字 on

数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。

在使用 left jion 时,onwhere 条件的区别如下:

假设有两张表:

表数据

两条 SQL:

执行过程

其实以上结果的关键原因就是 left join、right join、full join 的特殊性,不管 on 上的条件是否为真都会返回 leftright 表中的记录,full 则具有 leftright 的特性的并集。 而 inner jion 没这个特殊性,则条件放在 on 中和 where 中,返回的结果集是相同的。

原文地址:https://www.cnblogs.com/wlzhang/p/4532587.html

上一篇下一篇

猜你喜欢

热点阅读