总结MySQL 的一些知识点:MySQL 排序(上)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 总结MySQL 的一些知识点:MySQL 排序

引言

MySQL 运算符

本章节我们主要介绍 MySQL 的运算符及运算符的优先级。 MySQL 主要有以下几种运算符:

  • 算术运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符

算术运算符

MySQL 支持的算术运算符包括:

1706883948193.png

在除法运算和模运算中,如果除数为0,将是非法除数,返回结果为NULL。

1、加

1. mysql> select 1+2;
2. +-----+
3. | 1+2 |
4. +-----+
5. |   3 |
6. +-----+
1. mysql> select 1-2;
2. +-----+
3. | 1-2 |
4. +-----+
5. |  -1 |
6. +-----+

3、乘

1. mysql> select 2*3;
2. +-----+
3. | 2*3 |
4. +-----+
5. |   6 |
6.

4、除

1. mysql> select 2/3;
2. +--------+
3. | 2/3    |
4. +--------+
5. | 0.6667 |
6.

5、商

1. mysql> select 10 DIV 4;
2. +----------+
3. | 10 DIV 4 |
4. +----------+
5. |        2 |
6.

、取余

1. mysql> select 10 MOD 4;
2. +----------+
3. | 10 MOD 4 |
4. +----------+
5. |        2 |
6.

比较运算符

SELECT 语句中的条件语句经常要使用比较运算符。通过这些比较运算符,可以判断表中的哪些记录是符合条件的。比较结果为真,则返回 1,为假则返回 0,比较结果不确定则返回 NULL。

1706884085811.png1706884127377.png1、等于


mysql> select 2=3;
+-----+
| 2=3 |
+-----+
|   0 |
+-----+
mysql> select NULL = NULL;
+-------------+
| NULL = NULL |
+-------------+
|        NULL |
+-------------+

2、不等于

1. mysql> select 2<>3;
2. +------+
3. | 2<>3 |
4. +------+
5. |    1 |
6. +------+

3、安全等于

与 = 的区别在于当两个操作码均为 NULL 时,其所得值为 1 而不为 NULL,而当一个操作码为 NULL 时,其所得值为 0而不为 NULL。


mysql> select 2<=>3;
+-------+
| 2<=>3 |
+-------+
|     0 |
+-------+
mysql> select null=null;
+-----------+
| null=null |
+-----------+
|      NULL |
+-----------+
mysql> select null<=>null;
+-------------+
| null<=>null |
+-------------+
|           1 |
+-------------+

4、小于

1. mysql> select 2<3;
2. +-----+
3. | 2<3 |
4. +-----+
5. |   1 |
6. +-----+

5、小于等于

1. mysql> select 2<=3;
2. +------+
3. | 2<=3 |
4. +------+
5. |    1 |
6. +------+

6、大于

mysql> select 2>3;
+-----+
| 2>3 |
+-----+
|   0 |
+-----+


7、大于等于


mysql> select 2>=3;
+------+
| 2>=3 |
+------+
|    0 |
+------+


8、BETWEEN


mysql> select 5 between 1 and 10;
+--------------------+
| 5 between 1 and 10 |
+--------------------+
|                  1 |
+--------------------+


9、IN

mysql> select 5 in (1,2,3,4,5);
+------------------+
| 5 in (1,2,3,4,5) |
+------------------+
|                1 |
+------------------+


10、NOT IN


mysql> select 5 not in (1,2,3,4,5);
+----------------------+
| 5 not in (1,2,3,4,5) |
+----------------------+
|                    0 |
+----------------------+


11、IS NULL


mysql> select null is NULL;
+--------------+
| null is NULL |
+--------------+
|            1 |
+--------------+
mysql> select 'a' is NULL;
+-------------+
| 'a' is NULL |
+-------------+
|           0 |
+-------------+


12、IS NOT NULL


mysql> select null IS NOT NULL;
+------------------+
| null IS NOT NULL |
+------------------+
|                0 |
+------------------+
mysql> select 'a' IS NOT NULL;
+-----------------+
| 'a' IS NOT NULL |
+-----------------+
|               1 |
+-----------------+


13、LIKE


mysql> select '12345' like '12%';
+--------------------+
| '12345' like '12%' |
+--------------------+
|                  1 |
+--------------------+
mysql> select '12345' like '12_';
+--------------------+
| '12345' like '12_' |
+--------------------+
|                  0 |
+--------------------+


14、REGEXP


mysql> select 'beijing' REGEXP 'jing';
+-------------------------+
| 'beijing' REGEXP 'jing' |
+-------------------------+
|                       1 |
+-------------------------+
mysql> select 'beijing' REGEXP 'xi';
+-----------------------+
| 'beijing' REGEXP 'xi' |
+-----------------------+
|                     0 |
+-----------------------+

逻辑运算符

逻辑运算符用来判断表达式的真假。如果表达式是真,结果返回 1。如果表达式是假,结果返回 0。

1706884400229.png

1、与


mysql> select 2 and 0;
+---------+
| 2 and 0 |
+---------+
|       0 |
+---------+
mysql> select 2 and 1;   
+---------+     
| 2 and 1 |      
+---------+      
|       1 |      
+---------+


2、或


mysql> select 2 or 0;
+--------+
| 2 or 0 |
+--------+
|      1 |
+--------+
mysql> select 2 or 1;
+--------+
| 2 or 1 |
+--------+
|      1 |
+--------+
mysql> select 0 or 0;
+--------+
| 0 or 0 |
+--------+
|      0 |
+--------+
mysql> select 1 || 0;
+--------+
| 1 || 0 |
+--------+
|      1 |
+--------+


3、非


mysql> select not 1;
+-------+
| not 1 |
+-------+
|     0 |
+-------+
mysql> select !0;
+----+
| !0 |
+----+
|  1 |
+----+


4、异或


mysql> select 1 xor 1;
+---------+
| 1 xor 1 |
+---------+
|       0 |
+---------+
mysql> select 0 xor 0;
+---------+
| 0 xor 0 |
+---------+
|       0 |
+---------+
mysql> select 1 xor 0;
+---------+
| 1 xor 0 |
+---------+
|       1 |
+---------+
mysql> select null or 1;
+-----------+
| null or 1 |
+-----------+
|         1 |
+-----------+
mysql> select 1 ^ 0;
+-------+
| 1 ^ 0 |
+-------+
|     1 |
+-------+


位运算符

位运算符是在二进制数上进行计算的运算符。位运算会先将操作数变成二进制数,进行位运算。然后再将计算结果从二进制数变回十进制数。

1706884509398.png1、按位与

1. mysql> select 3&5;
2. +-----+
3. | 3&5 |
4. +-----+
5. |   1 |
6. +-----+

2、按位或

1. mysql> select 3|5;
2. +-----+
3. | 3|5 |
4. +-----+
5. |   7 |
6. +-----+

3、按位异或

1. mysql> select 3^5;
2. +-----+
3. | 3^5 |
4. +-----+
5. |   6 |
6. +-----+

4、按位取反

mysql> select ~18446744073709551612;
+-----------------------+
| ~18446744073709551612 |
+-----------------------+
|                     3 |
+-----------------------+


5、按位右移

1. mysql> select 3>>1;
2. +------+
3. | 3>>1 |
4. +------+
5. |    1 |
6. +------+

6、按位左移

mysql> select 3<<1;
+------+
| 3<<1 |
+------+
|    6 |
+------+



相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
SQL 关系型数据库 MySQL
总结 vue3 的一些知识点:MySQL LIKE 子句
总结 vue3 的一些知识点:MySQL LIKE 子句
|
23天前
|
缓存 关系型数据库 MySQL
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
MySQL查询优化:提速查询效率的13大秘籍(合理使用索引合并、优化配置参数、使用分区优化性能、避免不必要的排序和group by操作)(下)
|
1月前
|
存储 人工智能 关系型数据库
详细介绍TiDB 与 MySQL 中的常用字符集及排序规则
一文理清 TiDB 与 MySQL 中的常用字符集及排序规则
126 6
|
9天前
|
SQL 关系型数据库 MySQL
排序与分页——“MySQL数据库”
排序与分页——“MySQL数据库”
|
18天前
|
SQL 关系型数据库 MySQL
mysql基本查询、运算符、排序和分页
mysql基本查询、运算符、排序和分页
|
30天前
|
关系型数据库 MySQL 开发工具
MySQL分组后,组内排序,然后取每组的第一条数据
MySQL分组后,组内排序,然后取每组的第一条数据
17 1
|
1月前
|
SQL 关系型数据库 MySQL
总结 vue3 的一些知识点:MySQL NULL 值处理
总结 vue3 的一些知识点:MySQL NULL 值处理
|
1月前
|
SQL 关系型数据库 MySQL
总结 vue3 的一些知识点:MySQL 连接的使用
总结 vue3 的一些知识点:MySQL 连接的使用
|
1月前
|
关系型数据库 MySQL
Mysql基础第八天,排序检索数据
Mysql基础第八天,排序检索数据
24 1
|
2月前
|
存储 关系型数据库 MySQL
【2024】新建mysql数据库,如何选择字符集和排序规则
【2024】新建mysql数据库,如何选择字符集和排序规则
157 1