【译】MySQL基础教程-08-MySQL OR运算符

MySQL OR运算符简介

MySQL OR运算符组合了两个布尔表达式,当任一条件为真时返回true。

以下说明了OR运算符的语法。

这两个  boolean_expression_1boolean_expression_2 是返回真,假,或NULL布尔表达式。

下表显示了OR运算符的结果。

真正 空值
真正 真正 真正 真正
真正 空值
空值 真正 空值 空值

MySQL OR短路评估

MySQL对OR运算符使用短路评估。换句话说,当MySQL可以确定结果时,它会停止评估语句的其余部分。

请参阅以下示例。

试试看

因为表达式1 = 1总是返回true,所以MySQL不会评估1 / 0.如果确实如此,它会因为零除错误而发出错误。

运算符优先级

在表达式中使用多个逻辑运算符时,MySQL会在AND运算符之后计算OR运算符。这称为运算符优先级。

运算符优先级确定运算符的求值顺序。MySQL首先评估具有更高优先级的运算符。

请参阅以下示例。

试试看

这个怎么运作

  1. 首先,MySQL评估AND运算符,因此表达式  false AND false返回false。
  2. 其次,MySQL评估OR运算符,因此表达式true OR false返回true。

要更改评估顺序,请使用括号,例如:

试试看

这个怎么运作

  1. 首先,MySQL评估括号中的表达式(true OR false)返回true
  2. 其次,MySQL评估语句的剩余部分,true AND false返回false。

MySQL OR运算符示例

我们将使用示例数据库中的   customers表进行演示。

customers_table

例如,要获取位于美国或法国的客户,请在WHERE子句中使用OR运算符,如下所示:

试试看

MySQL OR的例子

正如您可以看到结果一样,查询将返回位于美国或法国的客户。

以下声明返回位于美国或法国且信用额度大于10000的客户。

试试看

MySQL OR AND示例

请注意,如果您不使用括号,查询将返回位于美国的客户或位于法国且信用额度大于10000的客户。

试试看

MySQL运算符优先级示例

ikbc C104 机械键盘 有线键盘 游戏键盘 104键 原厂cherry轴 樱桃轴 吃鸡神器 笔记本键盘 白色 茶轴 自营

关注微信公众号

码中人 微信公众号