为一列指定多个搜索条件(Visual Database Tools)

适用于:SQL Server

在某些情况下,你可能想要将许多搜索条件应用于同一数据列。 例如,你可能想要:

  • employee 表中搜索多个不同的姓名,或者搜索不同薪水范围内的员工。 这种类型的搜索需要条件 OR

  • 搜索以“The”一词开头且包含“Cook”一词的书名。这种类型的搜索需要条件 AND

注意

本文中的信息适用于查询的和HAVING子句中的WHERE搜索条件。 这些示例侧重于创建 WHERE 子句,但原则适用于这两种类型的搜索条件。

若要在同一数据列中搜索备用值,请指定条件 OR 。 若要搜索满足多个条件的值,请指定条件 AND

指定 OR 条件

OR使用条件可以指定要在列中搜索的多个替代值。 此选项扩展搜索范围,可以返回的行数多于搜索单个值。

提示

通常可以使用 IN 运算符来搜索同一数据列中的多个值。

  1. “条件”窗格(Visual Database Tools)中,添加要搜索的列。

  2. 在刚添加的数据列的“筛选器” 列中,指定第一个条件。

  3. 在同一数据列的 列中,指定第二个条件。

查询和视图设计器创建一个 WHERE 子句,其中包含如下 OR 条件:

SELECT fname,
       lname
FROM employees
WHERE (salary < 30000)
      OR (salary > 100000);

指定 AND 条件

AND使用条件可以指定列中的值必须满足结果集中要包含的行的两个(或更多)条件。 此选项缩小搜索范围,通常返回的行数比搜索单个值少。

提示

如果要搜索一系列值,则可以使用 BETWEEN 运算符,而不是将两个条件链接在一起 AND

  1. 在“条件”窗格中,添加要搜索的列。

  2. 在刚添加的数据列的“筛选器” 列中,指定第一个条件。

  3. 再次将相同的数据列添加到“条件”窗格,将其置于网格的空行中。

  4. 在数据列的第二个实例的 筛选器 列中,指定第二个条件。

查询设计器创建一个 WHERE 包含 AND 如下条件的子句:

SELECT title_id,
       title
FROM titles
WHERE (title LIKE '%Cook%')
      AND (title LIKE '%Recipe%');