SQL AND

摘要:本教程将为您介绍 SQL AND 运算符,并向您展示如何将其应用于 SQL 语句的 WHERE 子句中,以形成灵活条件。

SQL AND 运算符介绍

AND 运算符是 逻辑运算符,它将 WHERE 子句的 SELECTUPDATEDELETE 语句中的两个布尔表达式组合起来。以下说明了 AND 运算符的语法

expression1 AND expression2;

AND 运算符仅当两个表达式都计算为 true 时才返回 true。如果两个表达式之一为 false,则即使其中一个表达式为 NULL,AND 运算符也会返回 false。

下表列出了在比较 true、false 和 NULL 值时 AND 运算符的结果

TRUEFALSENULL
TRUETRUEFALSENULL
FALSEFALSEFALSEFALSE
NULLNULLFALSENULL

SQL AND 运算符示例

我们将使用 示例数据库 中的 employees 表来演示 SQL AND 运算符。

employees_table

以下语句查找既拥有作业 ID 9 又薪水大于 5,000 的所有员工

SELECT
	first_name,
	last_name,
	job_id,
	salary
FROM
	employees
WHERE
	job_id = 9
AND salary > 5000;

尝试一下

SQL AND example

要查找于 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 运算符的工作原理以及如何应用它来形成查询中的复杂条件。

本教程是否有所帮助?