6.AND & OR 运算符

时间:2021-10-17 20:25:45

AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤

AND 和 OR 运算符

AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。

如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。

如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

1.and

使用 AND 来显示所有姓为 "George" 并且名为 "Bush" 的人:

mysql> SELECT * FROM Persons WHERE FirstName='George' AND LastName='Bush'
    -> ;
+------+----------+-----------+--------------+----------+
| Id_P | LastName | FirstName | Address      | City     |
+------+----------+-----------+--------------+----------+
|    2 | Bush     | George    | Fifth Avenue | New York |
+------+----------+-----------+--------------+----------+
1 row in set (0.03 sec)

2.or

使用 AND 来显示所有姓为 "George"  或 "Bush" 的人:

mysql> SELECT * FROM Persons WHERE FirstName='George' or  LastName='Bush';
+------+----------+-----------+--------------+----------------+
| Id_P | LastName | FirstName | Address      | City           |
+------+----------+-----------+--------------+----------------+
|    2 | Bush     | George    | Fifth Avenue | New York       |
|    3 | Bush     | Carter    | Thomas       | Changan Street |
+------+----------+-----------+--------------+----------------+
2 rows in set (0.00 sec)

3.结合 AND 和 OR 运算符

我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式):

mysql> SELECT * FROM Persons WHERE (FirstName='George' or  LastName='Bush') and Address = 'Fifth Avenue';
+------+----------+-----------+--------------+----------+
| Id_P | LastName | FirstName | Address      | City     |
+------+----------+-----------+--------------+----------+
|    2 | Bush     | George    | Fifth Avenue | New York |
+------+----------+-----------+--------------+----------+
1 row in set (0.00 sec)

一般工作中都会是比较复查的语句,我已经在and or上犯过一次错误了,吃一堑,长一智,这次的错误真是笔误,无论啥时候带上括号都可以啦