多个AND的SQL查询在单个条件下使用

时间:2017-05-30 12:28:45

标签: mysql sql

我需要一个带有多个AND的SQL查询。让我用一个例子来解释,

例如,我想在数据库中搜索属性,其价格大于1000且小于2000(价格在1000-2000之间),其面积大于1000平方英尺。不到2000平方英尺(面积在1000-2000之间)。 所以我猜这个查询可能是,

SELECT *
FROM table_name
WHERE (price>1000 AND price<2000) AND (area>1000 AND area<2000)

这是我需要的东西!谢谢

3 个答案:

答案 0 :(得分:1)

您的原始查询对我来说很好,但如果您愿意,也可以使用BETWEEN,请尝试以下操作:

SELECT * FROM table_name WHERE (price BETWEEN 1001 AND 2000) AND (area BETWEEN 1001 AND 2000); 
  

expr BETWEEN min AND max

     

如果expr大于或等于min且expr小于或等于max,则BETWEEN返回1,否则返回0.这相当于表达式(min&lt; = expr AND expr&lt; = max)如果所有参数都是相同的类型。否则,类型转换将根据第12.2节“表达式评估中的类型转换”中所述的规则进行,但适用于所有三个参数

答案 1 :(得分:0)

使用而不是和

SELECT * FROM table_name WHERE (price between 1001 AND 1999) AND (area between 1001 AND 1999) 

答案 2 :(得分:0)

使用此功能,我认为它可以解决您的问题。它对我有用:

SELECT * FROM table_name WHERE价格和区域BETWEEN 1001和1999。

如果我们有相同的参数值,那么我们可以添加条件和所有参数。