【笔记】开发指南—运算符—运算符优先级

简介: 本文介绍了PolarDB-X中运算符的优先级

PolarDB-X操作符的优先级由高到低,如下所示:

优先级 运算符
15 !
14 -(负号), ~
13 ^
12 *,/,%,MOD
11 +,-
10 <<,>>
9 &
8 |
7 =(比较运算符等于),<=>,>,>=,<,<=,<>,!=,IS,LIKE,REGEXP,IN
6 BETWEEN
5 NOT
4 AND, &&
3 XOR
2 OR, ||
1 =(赋值运算符)

特殊说明

IN/NOT IN与=优先级

在MySQL 5.7.19中执行如下SQL:


mysql> select binary 'a' = 'a' in (1, 2, 3);
+-------------------------------+
| binary 'a' = 'a' in (1, 2, 3) |
+-------------------------------+
|                             1 |
+-------------------------------+
1 row in set, 1 warning (0.01 sec)
mysql> show warnings;
+---------+------+---------------------------------------+
| Level   | Code | Message                               |
+---------+------+---------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'a' |
+---------+------+---------------------------------------+
1 row in set (0.00 sec)
mysql> select 1 in (1, 2, 3) = 'a';
+----------------------+
| 1 in (1, 2, 3) = 'a' |
+----------------------+
|                    0 |
+----------------------+
1 row in set, 1 warning (0.00 sec)
mysql> show warnings;
+---------+------+---------------------------------------+
| Level   | Code | Message                               |
+---------+------+---------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'a' |
+---------+------+---------------------------------------+
1 row in set (0.00 sec)

可见,在MySQL中,IN/NOT IN的优先级高于=(比较运算符),在PolarDB-X中,严格按照以上优先级实现,在优先级相同的情况下,采用左结合的方式。

上一篇:赋值运算符

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
Java Linux 网络安全
2021 最新 IntelliJ IDEA配置 远程Docker容器 编写Dockerfile文件 步骤演示(图文版)
目录 一. 配置远程SFTP 1.打开IDEA 2.建个springboot项目 2.1 选择tools 2.2 选择如图所示位置 2.4 出现如下界面,点击三个... 2.5 选择SFTP 2.6 作如下配置,然后点击OK 2.7弹出如下界面,点击见图所示的三个... 2.8 点击加号+ 2.9 配置远程连接信息 2.10测试连接:弹出的界面点击 : 是 2.11 根据需求选择,我这里选择root目录 2.12连接完成 3 右键可以新建文件和目录 3.1 点击小箭头提交数据 二. IDEA配置 Linux 命令行窗口 第一步,点击 tools 第二步; 选择这个ssh 第三步: 连接完成
1163 0
2021 最新 IntelliJ IDEA配置 远程Docker容器 编写Dockerfile文件 步骤演示(图文版)
|
JavaScript 开发工具 git
已安装nodejs但是安装hexo报错
已安装nodejs但是安装hexo报错
255 2
|
算法 Java API
java BigDecimal使用详细介绍
java BigDecimal使用详细介绍
401 0
java BigDecimal使用详细介绍
|
机器学习/深度学习 算法 搜索推荐
多任务学习模型之DBMTL介绍与实现
本文介绍的是阿里在2019年发表的多任务学习算法。该模型显示地建模目标间的贝叶斯网络因果关系,整合建模了特征和多个目标之间的复杂因果关系网络,省去了一般MTL模型中较强的独立假设。由于不对目标分布做任何特定假设,使得它能够比较自然地推广到任意形式的目标上。
|
负载均衡 算法 应用服务中间件
解密Nginx负载均衡:实现流量分发与故障转移
解密Nginx负载均衡:实现流量分发与故障转移
902 1
|
弹性计算 关系型数据库 MySQL
最全阿里云双11优惠活动攻略价格表,看这一篇就够!
最全阿里云双11优惠活动攻略价格表,看这一篇就够!2023阿里云双11优惠活动开启了,轻量2核2G3M带宽服务器87元一年、2核4G4M带宽165元一年,云服务器ECS经济型e实例2核2G3M固定带宽优惠价格99元一年,新老用户同享,并且续费不涨价,第二年99元续费
1902 2
|
SQL C++ Python
SQL高级查询技巧(两次JOIN同一个表,自包含JOIN,不等JOIN)
掌握了这些,就比较高级啦 Using the Same Table Twice 如下面查询中的branch字段 SELECT a.account_id, e.emp_id, b_a.name open_branch, b_e.
5162 0
|
数据安全/隐私保护 网络虚拟化 开发者
appuploder全过程使用教程(Windows版本)
appuploder全过程使用教程(Windows版本)
|
存储 机器学习/深度学习 编解码
GlusterFS如何解决分布式文件系统的难题?
GlusterFS如何解决分布式文件系统的难题?
GlusterFS如何解决分布式文件系统的难题?
|
消息中间件 存储 SQL
一站式元数据治理平台——Datahub入门宝典(一)
随着数字化转型的工作推进,数据治理的工作已经被越来越多的公司提上了日程。作为新一代的元数据管理平台,Datahub在近一年的时间里发展迅猛,大有取代老牌元数据管理工具Atlas之势。国内Datahub的资料非常少,大部分公司想使用Datahub作为自己的元数据管理平台,但可参考的资料太少。 所以整理了这份文档供大家学习使用。本文档基于Datahub最新的0.8.20版本,整理自部分官网内容,各种博客及实践过程。
4902 0
一站式元数据治理平台——Datahub入门宝典(一)