gpt4 book ai didi

mysql加入: Where to put the condition that goes on the right table?

转载 作者:可可西里 更新时间:2023-11-01 08:49:48 27 4
gpt4 key购买 nike

我在某处读到右表 (j.jobStatus="A") 上的条件必须放在 where 子句之前。

1) 和 2) 有区别吗?

1)

SELECT c.cmpID
FROM company AS c
LEFT JOIN jobs AS j ON c.jobID=j.jobID
WHERE j.jobStatus="A" AND c.cmID > 10

2)

SELECT c.cmpID
FROM company AS c
LEFT JOIN jobs AS j ON c.jobID=j.jobID AND j.jobStatus="A"
WHERE c.cmID > 10

最佳答案

不同之处在于 WHERE j.jobStatus = "A" 使 LEFT JOIN 无效,本质上使其成为 INNER JOIN。 j 为 NULL 的任何行都会被该条件过滤掉。

如果条件在 ON 子句上,它仍然允许为 jobs 表返回 NULL 行(即公司表中没有jobs 表中的匹配行)。

关于mysql加入: Where to put the condition that goes on the right table?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16717249/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com