0

我想为 1 列实现多个特定参数,例如:

select * from table1 
where column1 = a or column1 = b or column1  = c ...

能否以更好的方式完成(使用中的 SQL 语句超过 10 行,而 OR 语句将再增长 10 行 Oo,它会使代码变慢!

4

1 回答 1

3

您可以使用in

select t.*
from t
where column in ( . . . );

in列表非常等效于一堆or条件。有一些细微差别。例如,in列表中的所有值都将转换为相同的类型。如果一个是数字,其余的是字符串,那么所有都将转换为字符串——可能会产生错误。

出于性能考虑,您需要在t(column).

于 2020-08-11T13:24:28.147 回答