我是SQL的新手,所以尽管在这里和网上都进行了搜索,但我仍然无法弄清我的问题。我需要选择价格超过300美元的桌子或书桌产品,其他所有内容都是正确的,但是我将退还所有美元金额,而不仅仅是300美元以上。

这是声明

SELECT ProductDescription, ProductFinish, ProductStandardPrice
FROM product_t WHERE ProductDescription LIKE '%table%' OR ProductDescription LIKE '%desk%'
AND ProductStandardPrice > 300;

最佳答案

尽管采用了格式,但operator precedence表示查询的解释如下:

SELECT ProductDescription, ProductFinish, ProductStandardPrice
FROM product_t WHERE ProductDescription LIKE '%table%'
OR (ProductDescription LIKE '%desk%' AND ProductStandardPrice > 300);


如果产品说明中包含“表格”,则无论价格如何,都将返回该表格。要始终检查价格,只需适当地插入括号即可:

SELECT ProductDescription, ProductFinish, ProductStandardPrice
FROM product_t WHERE (ProductDescription LIKE '%table%' OR ProductDescription LIKE '%desk%')
AND ProductStandardPrice > 300;

关于mysql - SQL LIKE子句未返回正确的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42149162/

10-12 02:49