SQL 服务器 LIKE、WILDCARDS、AND、OR 运算符、大括号

SQL Server LIKE, WILDCARDS, AND, OR operator, braces

在查询以 prefix1 或 prefix2 开头的名称列表时需要帮助。这些名称应在其描述(下一列)中包含值 ABC 或 DEF。类似于下面的 select 查询:

SELECT Name 
FROM Table 
WHERE Name LIKE 'X_%' 
   OR Name LIKE 'Y_%' 
  AND NextCol LIKE 'ABC%' 
   OR NextCol LIKE 'DEF%'

结果集应如下所示:

 |-------|----------------|
 |Name   | NextCol        |
 |------ |----------------|
 |X_BLAH | ABCandsomething|
 |Y_BLAH | DEFandsomething|
 |X_BLAH | DEFandsomething|
 |Y_BLAH | ABCandsomething|

是否可以使用多个带通配符的 'like'、'and' 和 'or' 运算符来完成此操作,或者有其他更好的方法吗?

这是您要找的吗?

select Name
from Table
where (Name like 'X_%' or Name like 'Y_%') 
  and (NextCol like 'ABC%' or NextCol like 'DEF%')

参考:

你只是少了括号,你走对了。

SELECT Name 
FROM Table 
WHERE (Name LIKE 'X_%' OR Name LIKE 'Y_%') AND (NextCol LIKE 'ABC%' OR NextCol LIKE 'DEF%')