SQL Server WHERE 子句17 Mar 2025 | 4 分钟阅读 SQL Server 中的 WHERE 子句用于从表中筛选记录。 这是一个可选子句,用于限制查询返回的行数。 我们也可以说,此子句指定一个条件,仅返回满足已定义条件的记录。 WHERE 子句也可以与 UPDATE 和 DELETE 查询一起使用。 WHERE 子句的需求当我们使用 SELECT 语句对表执行操作时,它将返回该表中的所有记录。如果我们的表有很多记录,SELECT 语句可能会返回不必要的数据,因为应用程序一次只处理一组行。在这种情况下,我们需要一些条件,只返回我们想在输出表中看到的数据。 因此,我们使用 WHERE 子句来限制查询从表中获取不必要的记录,并只返回满足 WHERE 子句中提到的条件的行。 语法以下语法说明了 SQL Server 中的 WHERE 子句 此语法具有以下参数 Column_list: 它是我们想要从结果集中检索的列名。 Table_name: 这是将从中选择列的表名。 Search_condition: 这是一个条件,仅返回满足此条件的记录。它对表执行过滤。它还指示逻辑表达式或多个逻辑表达式的组合,这些表达式评估结果:TRUE、FALSE 或 UNKNOWN。 如果它评估为 FALSE 或 UNKNOWN,WHERE 子句将不返回任何记录。 WHERE 子句还支持以下运算符来筛选记录
示例让我们通过几个例子来了解 SQL Server 中 WHERE 子句的工作原理。我们将使用 employee_info 表来演示 WHERE 子句的所有示例。 employee_info 表具有以下数据 ![]() 示例 1: 此示例将使用简单的等式运算符来筛选行。以下语句将检索所有工作时间等于 12 的员工,然后根据他们的姓名进行排序 执行该语句将只返回工作时间等于 12 的员工 ![]() 示例 2: 此示例检索满足 WHERE 子句中两个条件的行。以下示例返回工作时间大于 10 且工资小于 50000 的员工信息。 这里我们使用逻辑运算符 AND 将 WHERE 子句中的两个条件组合起来。 执行该语句将返回所有工作时间大于 10 且工资小于 50000 的员工 ![]() 示例 3: 此示例检索满足 WHERE 子句中任意两个条件的行。以下示例返回职业为 writer 且工资大于 35000 的员工信息。 这里我们使用 OR 运算符来组合 WHERE 子句中的条件。 执行该语句将返回所有满足查询中包含的这些条件之一的员工。 ![]() 示例 4: 此示例将检索属于两个值范围内的行。以下语句查找工资在 35000 到 60000 之间的员工信息。 这里我们使用 BETWEEN 运算符来获得所需的结果。 执行该语句将返回所有工资在 35000 到 60000 范围内的员工。 ![]() 示例 5: 此示例检索列表中具有值的记录。以下语句将使用 IN 运算符来查找职业为 Writer、Manager 或 HR 的员工信息。 执行查询将返回所有职业为 Writer、Manager 或 HR 的员工信息 ![]() 示例 6: 此示例检索值包含字符串的记录。以下语句将使用 LIKE 运算符来查找职业包含 'er' 字符串的员工信息。 执行查询将返回所有职业包含 'er' 字符串的员工信息 ![]() 示例 7: 此示例检索值不满足条件的记录。以下语句将使用 NOT EQUAL 运算符来查找职业不包含 'Writer' 职业的员工信息。 执行查询将返回所有职业不包含 'Writer' 职业的员工信息 ![]() 本文将解释与 WHERE 子句相关的所有信息,例如 WHERE 子句的介绍、它在 SQL Server 中的需求,以及如何使用它基于单个或多个条件来筛选记录。 下一个主题SQL Server ORDER BY |
我们请求您订阅我们的新闻通讯以获取最新更新。