对同一列使用multiple between子句

时间:2014-11-12 18:37:19

标签: mysql sql between

我想对同一个子句使用多个子句。

我尝试了以下查询,但它无效

select id from test where 
(id between 11123745 and 11182111)
and (id between 11182962 and 11182968)
and (id between 11183172 and 11183176)

我的查询什么都没有返回,我怎样才能使这个查询有效?

2 个答案:

答案 0 :(得分:2)

您的间隔不重叠,因此,将它们与AND组合在一起不会留下任何ID匹配。使用OR这样组合它们:

SELECT id FROM test 
WHERE 
  (id BETWEEN 11123745 AND 11182111)
  OR (id BETWEEN 11182962 AND 11182968)
  OR (id BETWEEN 11183172 AND 11183176)

答案 1 :(得分:1)

在任何情况下都无法满足这些条件。你需要使用OR。