SQL - AND在Like STATEMENT之后被忽略

时间:2014-03-20 13:56:54

标签: php sql sql-like

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'

为什么?

1 个答案:

答案 0 :(得分:11)

使用括号

SELECT * FROM cars 
WHERE (carBrand LIKE '%alfa%' OR carModel LIKE '%alfa%')
AND carType = 'truck'

ANDOR强大。它被称为运算符优先级。没有括号,您的查询将编译为

SELECT * FROM cars 
WHERE carBrand LIKE '%alfa%' 
OR (carModel LIKE '%alfa%' AND carType = 'truck')