繁体   English   中英

编写具有多个OR的SQL查询的更好方法

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM