MySQL基础知识:AND&OR

后台回复:1024,获取海量学习资源

SQL刷题专栏

SQL200题系列

AND 和 OR 作用

AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤,通常使用在WHERE后面。其中AND表示并且的意思,OR表示或者的意思

AND 和 OR 使用

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

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

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

示例数据

我们以customers表为示例数据进行讲解。

表customers

AND实例

我们要查询城市是"广州"并且姓名为"王五"的客户信息,可以这样写

SELECT * 
FROM customers
WHERE `城市`='广州'
AND `姓名`='王五'

结果为:

AND就是要所有条件都满足才会显示相关数据

OR实例

我们要查询城市是"广州"或者姓名为"王五"的客户信息,可以这样写

SELECT * 
FROM customers
WHERE `城市`='广州'
OR`姓名`='王五'

结果为:

OR则是只需要要满足其中一个条件就会显示相关数据,这里城市为“广州”的有两天记录,所以两条都会显示出来。

AND和OR一起使用

我们在查询时遇到比较复杂的条件时,AND和OR可能会一起使用。在使用OR的表达式时,如果是同类型的记得要用()包起来,否则会出现你意想不到的结果。

例如我们想查询姓名为"张三"或者"王五",并且他们所在的城市必须是"广州"的客户信息,可以这样写:

SELECT * 
FROM customers
WHERE  (`姓名`='张三' OR `姓名`='王五')
AND`城市`='广州'

结果为:

因为张三所在的城市并不是"广州",所以被过滤掉了。

如果上面WHERE子句部分我们不加()会怎么样呢?

SELECT * 
FROM customers
WHERE  `姓名`='张三' OR `姓名`='王五'
AND`城市`='广州'

结果为:

由于没有加括号,只要满足姓名为"张三"的数据行就会被显示,但与我们的需要是不一致的,所以在使用OR的时候务必读懂需求。

——End——

后台回复关键字:1024,获取一份精心整理的技术干货
后台回复关键字:进群,带你进入高手如云的交流群。
这是一个能学到技术的公众号,欢迎关注

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SQL数据库开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值