sql其中in> = AND< =

时间:2017-04-27 08:17:54

标签: mysql sql

我想根据id更新一组表行。 ID是连续的(例如12001 - 13000)

做得更快

WHERE id IN (12001, 12002, ...)

WHERE id >= 12001 AND id <= 13000

4 个答案:

答案 0 :(得分:1)

我建议你使用

WHERE id >= 12001 AND id <= 13000

此where子句使用范围,您只需要确定起始范围到结束/最大范围。如果您使用其他选项IN Clause,则需要标识每个ID,然后将其放在IN子句

答案 1 :(得分:0)

WHERE id >= 12001 AND id <= 13000

将是一个更好的解决方案 - 它清晰易检查。试图检查in语句是否包含每个元素都很难生成和检查。

答案 2 :(得分:0)

UPDATE Table_name SET Column_name = 500 WHERE Column_name = = 15 AND id IN(5,7,10,11,16,25);

答案 3 :(得分:0)

如果id上存在哈希索引而不是b树索引,则IN变体可能更快。否则,使用<= >=BETWEEN可能会更快一些,并且在任何情况下都更具可读性。