SQL Where Condition 一列有超过 15 个不同的字符串
SQL Where Condition having 15+ different strings for one column
我想为 1 列实现多个特定参数,例如:
select * from table1
where column1 = a or column1 = b or column1 = c ...
能否以更好的方式完成(SQL 使用中的语句 超过 10 行 使用 OR 语句它会再增加 10 行 O.o 并且它会使代码 慢得多!)
您可以使用 in
:
select t.*
from t
where column in ( . . . );
in
列表相当于一堆 or
条件。有一些细微差别。例如,in
列表中的所有值将被转换为相同的类型。如果一个是数字,其余是字符串,那么所有都将转换为字符串——可能会产生错误。
为了性能,您需要 t(column)
上的索引。
我想为 1 列实现多个特定参数,例如:
select * from table1
where column1 = a or column1 = b or column1 = c ...
能否以更好的方式完成(SQL 使用中的语句 超过 10 行 使用 OR 语句它会再增加 10 行 O.o 并且它会使代码 慢得多!)
您可以使用 in
:
select t.*
from t
where column in ( . . . );
in
列表相当于一堆 or
条件。有一些细微差别。例如,in
列表中的所有值将被转换为相同的类型。如果一个是数字,其余是字符串,那么所有都将转换为字符串——可能会产生错误。
为了性能,您需要 t(column)
上的索引。