摘要:本教程将为您介绍 SQL AND 运算符,并向您展示如何将其应用于 SQL 语句的 WHERE
子句中,以形成灵活条件。
SQL AND 运算符介绍
AND
运算符是 逻辑运算符,它将 WHERE
子句的 SELECT
、UPDATE
或 DELETE
语句中的两个布尔表达式组合起来。以下说明了 AND
运算符的语法
expression1 AND expression2;
AND
运算符仅当两个表达式都计算为 true 时才返回 true。如果两个表达式之一为 false,则即使其中一个表达式为 NULL,AND
运算符也会返回 false。
下表列出了在比较 true、false 和 NULL 值时 AND
运算符的结果
TRUE | FALSE | NULL | |
---|---|---|---|
TRUE | TRUE | FALSE | NULL |
FALSE | FALSE | FALSE | FALSE |
NULL | NULL | FALSE | NULL |
SQL AND 运算符示例
我们将使用 示例数据库 中的 employees
表来演示 SQL AND 运算符。

以下语句查找既拥有作业 ID 9 又薪水大于 5,000 的所有员工
SELECT
first_name,
last_name,
job_id,
salary
FROM
employees
WHERE
job_id = 9
AND salary > 5000;

要查找于 1997 年至 1998 年之间加入公司的所有员工,请按如下方式使用 AND
运算符
SELECT
first_name,
last_name,
hire_date
FROM
employees
WHERE
YEAR (hire_date) >=1997
AND YEAR (hire_date) <= 1998;
Code language: SQL (Structured Query Language) (sql)
SQL AND 运算符和短路求值
短路功能允许数据库系统在能确定结果后立即停止计算逻辑表达式其余部分。
让我们看一个示例,以更好地理解短路求值功能是如何工作的。
请看以下条件
1 = 0 AND 1 = 1;
数据库系统首先处理两个比较,并使用 AND
运算符来计算两个结果。
但是,通过短路求值功能,数据库系统只需计算表达式的左边,因为左边 (1 = 0) 返回 false,无论条件的右边结果如何,它都会使整个条件返回 false。
因此,短路功能可减少 CPU 计算时间,并且在某些情况下有助于防止运行时错误。请考虑以下条件
1 = 0 AND 1/0;
如果数据库系统支持短路功能,它将不会计算表达式的右边 (1/0),这样就会导致因除以零而错误。
现在,您应该理解 SQL AND 运算符的工作原理以及如何应用它来形成查询中的复杂条件。
本教程是否有所帮助?