MySQL AND运算符实例讲解

总结:在本教程中,您将学习如何使用MySQL AND运算符组合多个布尔表达式以形成复杂的条件来过滤数据。

 

MySQL AND运算符简介

AND运算符是组合两个或多个布尔表达式的逻辑运算符,并且只有在两个表达式都为true时才返回true。如果两个表达式中的任何一个值为false,AND运算符将返回false。

WHERE boolean_expression_1 AND boolean_expression_2

下面表格介绍AND运算符的结果。

  TRUE FALSE NULL
TRUE TRUE FALSE NULL
FALSE FALSE FALSE FALSE
NULL NULL FALSE NULL

AND运算符通常用于SELECT,UPDATE,DELETE语句的WHERE子句中,以形成过滤结果集的条件。AND运算符也用于inner join或left join子句的连接条件。

请看以下示例。

SELECT 1 = 0 AND 1 / 0 ;

结果为: 

1 = 0 AND 1 / 0
---------------
0

注意在MySQL中,0被认为是NULL,而非零是真的。

上面SQL语句中,MySQL只是计算1 = 0这一部分:,因为这个表达式返回false,所以MySQL认为整个表达式的结果是false。MySQL不会去判断表达式的剩余部分,即1/0; 如果判断1/0的话,它会发出一个错误消息,因为除数为零。

 

MySQL AND运算符示例

我们使用示例数据库中的customers表进行测试。

MySQL AND运算符示例

以下语句查询位于美国和CA州的客户。我们在WHERE子句中使用AND运算符。

SELECT customername,
         country,
         state
FROM customers
WHERE country = 'USA'
        AND state = 'CA';

MySQL AND运算符示例

使用AND运算符可以组合多个布尔表达式。例如,以下查询获取位于美国CA州且信用额度(creditlimit)大于100K的客户。

SELECT   customername,
         country,
         state,
         creditlimit
FROM customers
WHERE country = 'USA'
        AND state = 'CA'
        AND creditlimit > 100000;

MySQL AND运算符示例

在本教程中,我们向您展示了如何使用MySQL AND运算符组合两个或多个表达式以形成WHERE子句的复杂谓词。