在join中加条件和where中条件的区别
发布网友
发布时间:2022-04-29 20:24
我来回答
共1个回答
热心网友
时间:2022-04-29 21:53
on 是连接条件。
where 是取连接之后的记录的条件。
对于 left join、right join ,on 条件与 where 条件还是有区别的,举个例子:
表 a:
id v
----
1 a1
2 a2
3 a3
4 a4
5 a5
表 b:
id v
----
1 b1
2 b2
3 b3
4 b4
5 b5
SQL 语句
SELECT *
FROM a LEFT JOIN b ON a.id=b.id
AND a.id=1 AND b.id=2
结果
1 a1 NULL NULL
2 a2 NULL NULL
3 a3 NULL NULL
4 a4 NULL NULL
5 a5 NULL NULL
而如果我们把 a.id=1 AND b.id=2 写在 where 中,那么结果就是零条记录