[英]Better way to write a SQL query with many ORs
我有一个颜色列表或类别。
Category: Red, Blue, Green, ... //At least 9 for one category
我的MySQL表中的条目如下:
id | color
-- | -----
1 | Red
2 | Black
3 | Green
4 | Purple
. .
. .
我想从类别中获取具有color
id
。 它们现在构成我的查询的方式是... WHERE color = 'Red' OR color = 'Blue' OR ...
这将导致很长(至少9个) OR
列表。
我想我缺少了一些东西。 一定会有更好的办法。
使用IN
。 从文档中:
expr IN (value,...)
如果expr等于IN列表中的任何值,则返回1,否则返回0。
您的查询可以更改为此:
WHERE color IN ('Red', 'Blue', ... )
尝试使用关键字
IN
例如
SELECT *
FROM myTable
WHERE color IN ('Red', 'Blue')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.