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