盯着这where or 终于出了点感觉

时间:2023-03-09 05:17:32
盯着这where or 终于出了点感觉
盯着这where or 终于出了点感觉AND 和 OR 运算符
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。 如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。 如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

有两个表

这是ucbi表

盯着这where or 终于出了点感觉

这是cai表

盯着这where or 终于出了点感觉

SELECT
ucbi.Userid,
ucbi.Carid,
ucbi.rechargetime,
ucbi.Datetime
FROM
usercaridbindinfo ucbi
LEFT JOIN carauthinfo cai ON cai.Receiver = '15801377365'

应该会产生如下的中间表

盯着这where or 终于出了点感觉

WHERE
ucbi.Userid = '15801377365' or ucbi.Userid = cai.Userid;

盯着这where or 终于出了点感觉

出现了重复  是不是可以想成where 循环, 错误。需要重新定义

ucbi.Userid = '15801377365' or ucbi.Userid = cai.Userid;

拆分开  ucbi.Userid = cai.Userid; 有两条符合 13311069699 和 13311069600

ucbi.Userid = '15801377365' or ucbi.Userid = 13311069699 ;

ucbi.Userid = '15801377365' or ucbi.Userid = 13311069600 ;

where 一共是两次循环,

第一次过滤 ucbi.Userid = '15801377365' or ucbi.Userid = 13311069699 ;

第二次过滤ucbi.Userid = '15801377365' or ucbi.Userid = 13311069600 ;

于是出现了重复.