适用于:SQL Server
若要将条件与 OR 链接,并将它们优先于与 AND 链接的条件,必须针对每个 OR 条件重复 AND 条件。
例如,假设你想要找到所有在公司工作了五年多、工作级别较低的员工或退休员工。 此查询需要三个条件,其中一个条件使用 AND 链接到另外两个条件:
雇佣日期是在五年前的雇员,AND
工作级别为 100 或其状态为“R”(已停用)的员工。
以下过程演示如何在“条件”窗格中创建这种类型的查询。
在 OR 优先时组合条件
在“条件”窗格中,添加要搜索的数据列。 如果要使用与 AND 链接的两个或多个条件搜索同一列,则必须针对要搜索的每个值将数据列名称添加到网格中一次。
创建将由 OR 链接的条件,方法是将第一个条件输入到“筛选器”网格列中,然后将第二个(以及后续条件)输入单独的“或...”列中。 例如,若要用 OR 链接搜索
job_lvl
和status
列的条件,请在“筛选器”列中为job_lvl
输入= 100
,在“或...”列中为status
输入= 'R'
。在网格中输入这些值后,将在 SQL 窗格中生成以下 WHERE 子句:
WHERE (job_lvl = 100) OR (status = 'R')
通过为每个 OR 条件输入一次 AND 条件来创建 AND 条件。 将每个条目放在与其对应的 OR 条件相同的网格列中。 例如,要添加一个 AND 条件,该条件需要在
hire_date
列进行搜索,并同时适用于两个 OR 条件,请在“条件”列以及“< '1/1/91'
列”中输入 。在网格中输入这些值后,将在 SQL 窗格中生成以下 WHERE 子句:
WHERE (job_lvl = 100) AND (hire_date < '01/01/91' ) OR (status = 'R') AND (hire_date < '01/01/91' )
提示
可通过添加一次 AND 条件,再使用“编辑”菜单中的“剪切”和“粘贴”命令对其他 OR 条件重复此操作来重复 AND 条件。
查询和视图设计器创建的 WHERE 子句等效于以下 WHERE 子句,该子句使用括号指定 OR 优先于 AND:
WHERE (job_lvl = 100 OR status = 'R') AND
(hire_date < '01/01/91')
注意
如果以上面显示的格式在 SQL 窗格中输入搜索条件,然后在“关系图”或“条件”窗格中对该查询进行更改,则查询和视图设计器将重新创建 SQL 语句,以使其形式与显式分配到两个 OR 条件的 AND 条件相匹配。
另请参阅
条件窗格中合并搜索条件的约定(Visual Database Tools)
指定搜索条件 (Visual Database Tools)