我需要选择单个列匹配多个值的所有值。有一次,我看到了类似下面的东西,但它对我不起作用。这是正确的还是我需要将这些值与AND链接?
SELECT * FROM MYTABLE WHERE AGE = ( 20, 21, 22 )
我也是在PHP脚本中执行此操作并在http帖子中获取我的值,以便任何人都能指出我的方向,这将是一个很好的例子。谢谢!
答案 0 :(得分:10)
您需要使用IN
SELECT *
FROM MYTABLE
WHERE AGE IN ( 20, 21, 22 )
与
相同SELECT *
FROM MYTABLE
WHERE AGE = 20 OR
AGE = 21 OR
AGE = 22
答案 1 :(得分:2)
您需要使用IN,但要小心:
如果字段或值不是某种数字格式,则必须引用每个值:
SELECT * FROM TABLE WHERE FIELD IN ('a','b','c')
此外,如果您使用的是数字字段,请确保每个值都不为空。这将失败:
SELECT * FROM TABLE WHERE FIELD IN (1,,3,4,5)
这会引发错误。