在某些情况下,可能希望对同一数据列应用多个搜索条件。 例如,您可能希望:

  • employee 表中搜索几个不同的名字或搜索位于不同薪金范围内的雇员。 这种类型的搜索需要使用 OR 条件。

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

    本主题中的信息对查询的 WHERE 和 HAVING 子句中的搜索条件都适用。 这些示例主要讨论创建 WHERE 子句,但其原理适用于这两种类型的搜索条件。

    若要在同一数据列中搜索可选值,可指定 OR 条件。 若要搜索同时满足几个条件的值,可指定 AND 条件。

    指定 OR 条件

    使用 OR 条件,您可以指定要在列中搜索的多个可选值。 此选项扩展了搜索范围,可以比搜索单一值返回更多的行。

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

    指定 OR 条件

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

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

  • 在同一数据列的“或...” 列中,指定第二个条件。

    查询和视图设计器将创建包含 OR 条件的 WHERE 子句,如下所示:

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

    指定 AND 条件

    使用 AND 条件,您可以指定某列中的值必须同时满足两个(或更多)条件,才能使该行包含在结果集中。 此选项缩小了搜索范围,通常会比搜索单一值返回更少的行。

    若要搜索一定范围内的值,可使用 BETWEEN 运算符替代 AND 来链接两个条件。

    指定 AND 条件

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

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

  • 将同一数据列再次添加到“条件”窗格中,将其放在网格的空行中。

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

    查询设计器将创建包含 AND 条件的 WHERE 子句,如下所示:

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

    在“条件”窗格中组合搜索条件的约定 (Visual Database Tools)
    指定搜索条件 (Visual Database Tools)

  •