我的意思是,如果我们有
SELECT id FROM table WHERE clause1 AND clause2 AND clause3
如果在没有验证子句2和子句3的情况下,如果子句为假,mysql是否会跳过第n条记录?
答案 0 :(得分:1)
是和否。
ADD运算符要求它们都是真的。
如果你想要查找这3个条款中的任何一个是真的,你应该使用OR。
SELECT id
FROM table
WHERE clause1 AND clause2 AND clause3
只返回TRUE,TRUE和TRUE情况
鉴于:
SELECT id
FROM table
WHERE clause1 OR clause2 OR clause3
将返回
TRUE,TRUE&TRUE
FALSE,TRUE&TRUE
TRUE,TRUE,TRUE
真,假,错误
所以要回答你的问题,如果你使用并添加运算符,如果第一个结果为假,它会自动取消结果,但那是因为接下来的两个都没关系。如果你使用OR运算符,那么在检查结果之前它不会取消结果。