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上犯过一次错误了,吃一堑,长一智,这次的错误真是笔误,无论啥时候带上括号都可以啦