好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

MySQL OR运算符使用实例优先级介绍

摘要 :本教程介绍如何使用MySQL OR运算符组合布尔表达式来过滤数据以及OR运算符的优先级。

 

MySQL OR运算符简介

MySQL OR运算符连接两个或多个布尔表达式。当其中任何一个表达式为true时,它将返回true。

下面是OR运算符的语法:

 boolean_expression_1 OR boolean_expression_2 

boolean_expression_1 or  boolean_expression_2  这个表达式有可能返回true或false。

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

  TRUE FALSE NULL
TRUE TRUE TRUE TRUE
FALSE TRUE FALSE NULL
NULL TRUE NULL NULL

 

MySQL OR短路求值

MySQL对OR运算符使用短路求值。换句话说,MySQL在确定有一个表达式为真时,将不会去判断其他表达式的真假,而是直接终止判断并返回true。

请看下面实例:

 SELECT 1 = 1 OR 1 / 0; 

 结果如下:

 1 = 1 OR 1 / 0
--------------
1 

因为表达式1 = 1总是返回true,所以MySQL不会计算1/0。如果计算1/0,则会抛出错误消息。

 

运算符优先级

当您在语句中使用多个逻辑运算符时,如and 和or运算符,MySQL是先计算 AND 运算符,再计算OR运算符。这就是所谓的运算符优先级。

运算符优先级确定运算符的求值顺序。MySQL首先计算具有较高优先级的运算符。

请参阅以下示例。

 SELECT true OR false AND false; 

 结果如下:

 true OR false AND false
-----------------------
1 

执行顺序如下:

首先,MySQL计算AND运算符,这是, false AND false 返回false。 第二,MySQL计算OR运算符,这是, true OR false 返回true。

要更改计算的顺序,请使用括号,例如:

 SELECT (true OR false) AND false; 

 结果如下:

 (true OR false) AND false
-------------------------
0 

执行顺序如下:

首先,MySQL计算圆括号中的表达式 (true OR false) 返回true 第二,MySQL计算剩余语句部分, true AND false 返回false。

 

MySQL OR运算符示例

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

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

 SELECT 
    customername, country
FROM
    customers
WHERE
    country = 'USA' OR country = 'France'; 

结果如图所示:

以下语句获取位于美国或法国并且信用额度(creditlimit)大于10000的客户。

 SELECT 
    customername, country, creditLimit
FROM
    customers
WHERE
    (country = 'USA' OR country = 'France')
        AND creditlimit > 100000; 

结果如图所示:

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

 SELECT
    customername, country, creditLimit
FROM
    customers
WHERE
    country = 'USA' OR country = 'France' AND creditlimit > 100000; 

结果如图所示:

在本教程中,您已经学习了如何使用MySQL OR运算符组合布尔表达式来过滤数据。

查看更多关于MySQL OR运算符使用实例优先级介绍的详细内容...

  阅读:32次

上一篇

下一篇

第1节:MySQL AND运算符实例讲解    第2节:MySQL BETWEEN AND实例及边界值问题    第3节:MySQL DISTINCT去除及多字段实例讲解    第4节:MYSQL having实例及与where的区别    第5节:MySQL INNER JOIN多表连接及优化效率实例分析    第6节:MySQL group by having与聚合函数count sum使用实例讲解    第7节:MySQL LIKE通配符(%,_)及escape实例讲解    第8节:MySQL OR运算符使用实例优先级介绍    第9节:MySQL IN运算符实例讲解    第10节:MySQL LIMIT实例及取前N行数据    第11节:MySQL IS NULL判断值是否为NULL及优化详解    第12节:MySQL ORDER BY实例及性能优化分析    第13节:mysql order by如何实现自然排序    第14节:MySQL LEFT JOIN实例及优化分析    第15节:mysql 下载与安装    第16节:MySQL示例数据库下载    第17节:如何使用MySQL Workbench将样本数据库导入到MySQL数据库服务器    第18节:MySQL SELECT语句实例讲解    第19节:MySQL WHERE子句使用实例讲解    第20节:Mysql入门教程    第21节:MySQL Alias表别名、字段别名使用实例    第22节:MySQL自连接实例讲解