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

Mysql 在单个条件下使用多个AND的Sql查询,mysql,sql,Mysql,Sql,我需要一个SQL查询,带有多个AND。让我举个例子解释一下 例如,我想在数据库中搜索一处房产,谁的价格大于1000,谁的价格小于2000,谁的价格在1000-2000之间,谁的面积大于1000平方英尺。面积不到2000平方英尺,介于1000-2000之间。 所以我猜这个问题可能是 SELECT * FROM table_name WHERE (price>1000 AND price<2000) AND (area>1000 AND area<2000) 这是我需要的东

我需要一个SQL查询,带有多个AND。让我举个例子解释一下

例如,我想在数据库中搜索一处房产,谁的价格大于1000,谁的价格小于2000,谁的价格在1000-2000之间,谁的面积大于1000平方英尺。面积不到2000平方英尺,介于1000-2000之间。 所以我猜这个问题可能是

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

这是我需要的东西!谢谢

我觉得您的原始查询很好,但如果您愿意,也可以使用,请尝试以下方法:

SELECT * FROM table_name WHERE (price BETWEEN 1001 AND 2000) AND (area BETWEEN 1001 AND 2000); 
expr在最小值和最大值之间


如果expr大于或等于min且expr小于或等于max,则返回1,否则返回0。这相当于表达式min使用between代替and

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

用这个,我想它会解决你的问题。这对我很有用:

从价格和面积介于1001和1999之间的表_name中选择*


如果参数值相同,则可以添加条件和所有参数。

这与price>1000和price 1000不同,areaBETWEEN包含在内。OP似乎想要独占范围。您的查询没有问题。您的问题是什么?此查询可以正常工作?此查询符合您的描述。你对它或结果有问题吗?是的,它没有显示结果,直到我使用了BETWEEN这个词,现在它的workingBETWEEN是包容性的。OP似乎想要独占范围。您还忽略了值不是整数的可能性。