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” 岁的人:

  1. 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