适用于:SQL Server
在某些情况下,你可能想要将许多搜索条件应用于同一数据列。 例如,你可能想要:
在
employee
表中搜索多个不同的姓名,或者搜索不同薪水范围内的员工。 这种类型的搜索需要条件OR
。搜索以“The”一词开头且包含“Cook”一词的书名。这种类型的搜索需要条件
AND
。
注意
本文中的信息适用于查询的和HAVING
子句中的WHERE
搜索条件。 这些示例侧重于创建 WHERE
子句,但原则适用于这两种类型的搜索条件。
若要在同一数据列中搜索备用值,请指定条件 OR
。 若要搜索满足多个条件的值,请指定条件 AND
。
指定 OR 条件
OR
使用条件可以指定要在列中搜索的多个替代值。 此选项扩展搜索范围,可以返回的行数多于搜索单个值。
提示
通常可以使用 IN 运算符来搜索同一数据列中的多个值。
在 “条件”窗格(Visual Database Tools)中,添加要搜索的列。
在刚添加的数据列的“筛选器” 列中,指定第一个条件。
在同一数据列的 或 列中,指定第二个条件。
查询和视图设计器创建一个 WHERE
子句,其中包含如下 OR
条件:
SELECT fname,
lname
FROM employees
WHERE (salary < 30000)
OR (salary > 100000);
指定 AND 条件
AND
使用条件可以指定列中的值必须满足结果集中要包含的行的两个(或更多)条件。 此选项缩小搜索范围,通常返回的行数比搜索单个值少。
提示
如果要搜索一系列值,则可以使用 BETWEEN
运算符,而不是将两个条件链接在一起 AND
。
在“条件”窗格中,添加要搜索的列。
在刚添加的数据列的“筛选器” 列中,指定第一个条件。
再次将相同的数据列添加到“条件”窗格,将其置于网格的空行中。
在数据列的第二个实例的 筛选器 列中,指定第二个条件。
查询设计器创建一个 WHERE
包含 AND
如下条件的子句:
SELECT title_id,
title
FROM titles
WHERE (title LIKE '%Cook%')
AND (title LIKE '%Recipe%');