MySQL AND运算符
时间:2019-11-20 08:52:04 来源:igfitidea点击:
简介:在本教程中,您将学习如何使用MySQL AND运算符组合多个布尔表达式来过滤数据。
MySQL AND运算符简介
AND运算符是一个逻辑运算符,它将两个或多个布尔表达式组合在一起,并且仅在两个表达式的计算结果都为true时才返回true。
如果两个表达式之一的计算结果为false,则AND运算符将返回false。
这是AND运算符的语法:
boolean_expression_1 AND boolean_expression_2
下表说明了组合true,false和null时AND运算符的结果。
TRUE | FALSE | NULL | |
---|---|---|---|
TRUE | TRUE | FALSE | NULL |
FALSE | FALSE | FALSE | FALSE |
NULL | NULL | FALSE | NULL |
通常在SELECT,UPDATE,DELETE语句的WHERE子句中使用AND运算符来形成条件。
AND运算符还用于INNER JOIN和LEFT JOIN子句的联接条件。
当评估一个具有AND运算符的表达式时,只要能够确定结果,MySQL就会停止评估该表达式的其余部分。
此功能称为短路评估。
考虑以下示例。
SELECT 1 = 0 AND 1 / 0 ;
1 = 0 AND 1 / 0 --------------- 0
请注意,在MySQL中,零被认为是错误的,非零则被视为true。
MySQL仅计算表达式1 = 0 AND 1/0的第一部分1 =0。
由于表达式1 = 0返回false,因此MySQL可以得出整个表达式的结果,即false。
MySQL不评估表达式的剩余部分,即1/0;如果这样做,由于除以零错误,将发出错误。
MySQL AND运算符范例
让我们使用示例数据库中的customers表进行演示。
以下语句使用AND运算符查找位于美国加利福尼亚(CA)的客户:
SELECT customername, country, state FROM customers WHERE country = 'USA' AND state = 'CA';
通过使用AND运算符,您可以组合两个以上的布尔表达式。
例如,以下查询返回位于美国加利福尼亚州且信用额度大于100K的客户。
SELECT customername, country, state, creditlimit FROM customers WHERE country = 'USA' AND state = 'CA' AND creditlimit > 100000;
在本教程中,您学习了如何使用MySQL AND运算符组合两个或多个布尔表达式以在WHERE子句中形成条件。