我有一个列表或颜色类别。
Category: Red, Blue, Green, ... //At least 9 for one category
我的MySQL表中有以下条目:
id | color
-- | -----
1 | Red
2 | Black
3 | Green
4 | Purple
. .
. .
我想从我的类别中获得id
个color
。他们现在构建我的查询的方式是... WHERE color = 'Red' OR color = 'Blue' OR ...
,这将导致OR
s的长(至少9)列表。
我想我错过了什么。必须有更好的方法。
答案 0 :(得分:3)
使用IN
。来自文档:
expr IN (value,...)
如果expr等于IN列表中的任何值,则返回1,否则返回0.
您的查询可以更改为:
WHERE color IN ('Red', 'Blue', ... )
答案 1 :(得分:2)
尝试使用关键字
IN
e.g。
SELECT *
FROM myTable
WHERE color IN ('Red', 'Blue')