SELECT * WHERE var == [众多替代品之一]

时间:2016-08-14 09:32:47

标签: mysql sql database where

在MySQL中,我可以指定与OR的替代匹配:

SELECT * FROM table WHERE var = 1 OR var = 2

当有很多替代品时,将它们列为这样会变得很麻烦。有没有办法,我可以给出一个列表,向量或值数组?有点像这个伪代码:

SELECT * FROM table WHERE var IN {1, 2, 5, 11, 45}

2 个答案:

答案 0 :(得分:2)

您可以使用括号而不是大括号指定IN

SELECT * FROM table WHERE var IN (1, 2, 5, 11, 45)

答案 1 :(得分:1)

equality/comparison中的第一个 MySQL运算符=仅为==

您可以通过引入IN子句来实现相同目标。但是您的语法不符合MySQL标准。它应该是:

SELECT * FROM table WHERE your_column IN (1,2,5,11,45)

注意:

  

使用IN。

     

IN将使用索引。

     

或者(afaik)不使用索引。

     

另外,这一点不要打喷嚏,IN版本:

     
      
  • 使用更少的代码
  •   
  • 更容易维护
  •   
  • 更容易理解
  •   
     

仅凭这些原因,我会做好准备   获得代码质量的性能,但实际上你获得了性能   太

OR VS IN