我是SQL的新手,所以尽管在这里和网上搜索我仍然无法弄清楚我的问题。我需要选择桌子或桌子的产品,其成本超过300美元,其他一切都是正确的,但我要返还所有的金额,而不仅仅是那些超过300美元的金额。
这是声明
SELECT ProductDescription, ProductFinish, ProductStandardPrice
FROM product_t WHERE ProductDescription LIKE '%table%' OR ProductDescription LIKE '%desk%'
AND ProductStandardPrice > 300;
答案 0 :(得分:1)
尽管您的格式化,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;