SQLでは、構文を短縮する方法はありますか
Select * from TableName
where ColumnName like '%A%' or ColumnName like '%B' or ColumnName like 'C%'
に
Select * from TableName
where ColumnName in ('%A%','%B','C%')
Where
with句に同じ列名を何度も書くのは現実的ではありませんOR
。
SQLでは、構文を短縮する方法はありますか
Select * from TableName
where ColumnName like '%A%' or ColumnName like '%B' or ColumnName like 'C%'
に
Select * from TableName
where ColumnName in ('%A%','%B','C%')
Where
with句に同じ列名を何度も書くのは現実的ではありませんOR
。
いいえ、LIKE と INを直接組み合わせる方法はありません
SQL Server のこの例のように、これを回避する方法があります。
Select *
from
TableName T
JOIN
(VALUES ('%A%'),('%B'),('C%')) AS X(Expression) ON T.ColumnName LIKE X.Expression
これは、複数の OR 検索条件を行と JOIN に変更します。
または、UNION を使用して複数のクエリを 1 つに結合することもできます
Select * from TableName
where ColumnName like '%A%'
union
Select * from TableName
where ColumnName like '%B'
union
Select * from TableName
where ColumnName like 'C%'