SELECT * FROM cars WHERE carBrand LIKE '%alfa%' OR carModel LIKE '%alfa%'
我在那句话之后的所有内容都被忽略了。我希望能做到这一点。
SELECT * FROM cars
WHERE carBrand LIKE '%alfa%'
OR carModel LIKE '%alfa%' AND carType = 'truck'
这个会被忽略。
AND carType = 'truck'
为什么?
使用括号
SELECT * FROM cars
WHERE (carBrand LIKE '%alfa%' OR carModel LIKE '%alfa%')
AND carType = 'truck'
AND
的结合力比OR
强。它叫做运算符优先级。如果没有括号,查询将编译为
SELECT * FROM cars
WHERE carBrand LIKE '%alfa%'
OR (carModel LIKE '%alfa%' AND carType = 'truck')