AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤。
AND 和 OR 运算符
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
实例
表users:
| id | name | school | grade | class | age |
|---|---|---|---|---|---|
| 1 | 李磊 | 襄阳一中 | 四年级 | 3班 | 10 |
| 2 | 韩梅梅 | 襄阳一中 | 五年级 | 2班 | 9 |
| 3 | 刘磊 | 襄阳一中 | 六年级 | 1班 | 9 |
| 4 | 王大壮 | 襄阳一中 | 五年级 | 2班 | 8 |
AND 运算符实例
使用 AND 来显示所有年级为 “五年级” 并且年龄为 “9” 岁的人:
SELECT * FROM users WHERE grade='五年级' AND age=9
结果:
| id | name | school | grade | class | age |
|---|---|---|---|---|---|
| 2 | 韩梅梅 | 襄阳一中 | 五年级 | 2班 | 9 |
OR 运算符实例
使用 OR 来显示所有年级为 “五年级” 或者年龄为 “10” 岁的人:
SELECT * FROM users WHERE grade='五年级' OR age=10
结果:
| id | name | school | grade | class | age |
|---|---|---|---|---|---|
| 1 | 李磊 | 襄阳一中 | 四年级 | 3班 | 10 |
| 2 | 韩梅梅 | 襄阳一中 | 五年级 | 2班 | 9 |
| 4 | 王大壮 | 襄阳一中 | 五年级 | 2班 | 8 |
结合 AND 和 OR 运算符
我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式):
SELECT * FROM users WHERE (grade='五年级' OR Age=10) AND class='3班'
结果:
| id | name | school | grade | class | age |
|---|---|---|---|---|---|
| 1 | 李磊 | 襄阳一中 | 四年级 | 3班 | 10 |
