A2-02-04.DML-MySQL AND Operator
转载自:http://www.mysqltutorial.org/mysql-and/
MySQL AND Operator
Summary: in this tutorial, you will learn how to the MySQL AND
operator to combine multiple Boolean expressions to filter data.
Introduction to MySQL AND operator
The AND
operator is a logical operator that combines two or more Boolean expressions and returns true only if both expressions evaluate to true. The AND
operator returns false if one of the two expressions evaluate to false.
1
|
WHERE boolean_expression_1 AND boolean_expression_2
|
The following illustrates the results of the AND
operator when combining true, false, and null.
TRUE | FALSE | NULL | |
---|---|---|---|
TRUE | TRUE | FALSE | NULL |
FALSE | FALSE | FALSE | FALSE |
NULL | NULL | FALSE | NULL |
The AND
operator is often used in the WHERE
clause of the SELECT
, UPDATE
, DELETE
statement to form Boolean expressions. The AND
operator is also used in join conditions of the INNER JOIN
and LEFT JOIN
clauses.
When evaluating an expression that has the AND
operator, MySQL evaluates the remaining parts of the expression until it can determine the result. This function is called short-circuit evaluation.
Consider the following example.
1
|
SELECT 1 = 0 AND 1 / 0 ;
|
1
2
3
|
1 = 0 AND 1 / 0
---------------
0
|
Note that in MySQL, zero is considered as false and non-zero is treated as true.
MySQL only evaluates the first part 1 = 0
of the expression 1 = 0 AND 1 / 0
. Because the expression 1 = 0
returns false, MySQL can conclude the result of the whole expression, which is false. MySQL then does not evaluate the remaining part of the expression, which is 1/0; If it does, it will issue an error because of the division by zero error.
MySQL AND operator examples
Let’s use the customers
table in the sample database for the demonstration.
The following statement retrieve customers who locate in California (CA) and USA. It uses the AND
operator in the expression of the WHERE
clause.
1
2
3
4
5
6
7
8
|
SELECT
customername,
country,
state
FROM
customers
WHERE
country = 'USA' AND state = 'CA';
|
With the AND operator, you can combine more than two Boolean expressions. For example, the following query returns the customers who locate in California, USA, and has credit limit greater than 100K.
1
2
3
4
5
6
7
8
|
SELECT customername,
country,
state,
creditlimit
FROM customers
WHERE country = 'USA'
AND state = 'CA'
AND creditlimit > 100000;
|
In this tutorial, we have shown you how to use the MySQL AND
operator to combine two or more expressions to form a complex predicate for the WHERE
clause.