MySQL 运算符
                           
天天向上
发布: 2025-02-18 23:11:57

原创
241 人浏览过

MySQL 提供了多种运算符来处理数据。运算符在 SQL 查询中执行各种计算、比较和逻辑操作。MySQL 运算符可以分为以下几类:

1. 算术运算符

算术运算符用于执行数学计算,包括加法、减法、乘法、除法等。

1.1 + 加法

SELECT 10 + 5 AS sum;

输出:

sum
---
15

1.2 - 减法

SELECT 10 - 5 AS difference;

输出:

difference
-----------
5

1.3 * 乘法

SELECT 10 * 5 AS product;

输出:

product
--------
50

1.4 / 除法

SELECT 10 / 5 AS quotient;

输出:

quotient
--------
2

1.5 % 取余

SELECT 10 % 3 AS remainder;

输出:

remainder
----------
1

2. 比较运算符

比较运算符用于在查询中进行值的比较。

2.1 = 等于

SELECT * FROM employees WHERE salary = 5000;

选择所有薪水为 5000 的员工。

2.2 !=<> 不等于

SELECT * FROM employees WHERE salary != 5000;

选择所有薪水不为 5000 的员工。

2.3 > 大于

SELECT * FROM employees WHERE salary > 5000;

选择所有薪水大于 5000 的员工。

2.4 < 小于

SELECT * FROM employees WHERE salary < 5000;

选择所有薪水小于 5000 的员工。

2.5 >= 大于或等于

SELECT * FROM employees WHERE salary >= 5000;

选择所有薪水大于或等于 5000 的员工。

2.6 <= 小于或等于

SELECT * FROM employees WHERE salary <= 5000;

选择所有薪水小于或等于 5000 的员工。

2.7 BETWEEN 范围比较

BETWEEN 用于检查一个值是否在指定范围内。

SELECT * FROM employees WHERE salary BETWEEN 4000 AND 6000;

选择薪水在 4000 和 6000 之间的员工。

2.8 IN 列表比较

IN 用于检查某个值是否在指定的列表中。

SELECT * FROM employees WHERE salary IN (3000, 4000, 5000);

选择薪水为 3000、4000 或 5000 的员工。

2.9 LIKE 模糊匹配

LIKE 用于进行模糊匹配,通常配合 %_ 使用。

SELECT * FROM employees WHERE name LIKE 'J%';

选择名字以 “J” 开头的员工。

2.10 IS NULL 检查 NULL 值

SELECT * FROM employees WHERE bonus IS NULL;

选择没有奖金的员工。

3. 逻辑运算符

逻辑运算符用于执行条件的逻辑运算,如与(AND)、或(OR)、非(NOT)。

3.1 AND 逻辑与

AND 用于检查多个条件是否同时成立。

SELECT * FROM employees WHERE salary > 5000 AND department = 'HR';

选择薪水大于 5000 且所在部门为 “HR” 的员工。

3.2 OR 逻辑或

OR 用于检查至少一个条件是否成立。

SELECT * FROM employees WHERE salary > 5000 OR department = 'HR';

选择薪水大于 5000 或所在部门为 “HR” 的员工。

3.3 NOT 逻辑非

NOT 用于取反条件。

SELECT * FROM employees WHERE NOT department = 'HR';

选择不在 “HR” 部门的员工。

4. 位运算符

位运算符用于对整数值执行位级操作。

4.1 & 按位与

按位与运算符用于比较两个数字的对应位,只有在两个位都为 1 时结果才为 1。

SELECT 5 & 3 AS bitwise_and;

输出:

bitwise_and
------------
1

4.2 | 按位或

按位或运算符用于比较两个数字的对应位,只要一个位为 1,结果就为 1。

SELECT 5 | 3 AS bitwise_or;

输出:

bitwise_or
-----------
7

4.3 ^ 按位异或

按位异或运算符用于比较两个数字的对应位,只有当两个位不相同时结果才为 1。

SELECT 5 ^ 3 AS bitwise_xor;

输出:

bitwise_xor
------------
6

4.4 << 左移

左移运算符将一个数字的位向左移动指定的位数。

SELECT 5 << 1 AS left_shift;

输出:

left_shift
-----------
10

4.5 >> 右移

右移运算符将一个数字的位向右移动指定的位数。

SELECT 5 >> 1 AS right_shift;

输出:

right_shift
------------
2

5. 其他运算符

5.1 CONCAT() 字符串连接

CONCAT() 用于连接两个或多个字符串。

SELECT CONCAT('Hello', ' ', 'World') AS greeting;

输出:

greeting
---------
Hello World

5.2 IFNULL()COALESCE() 替代 NULL 值

IFNULL()COALESCE() 用于将 NULL 值替换为指定的值。

SELECT IFNULL(bonus, 0) AS adjusted_bonus FROM employees;

如果 bonus 为 NULL,则返回 0。

5.3 CASE 条件表达式

CASE 运算符允许根据条件返回不同的值。

SELECT name, 
       CASE 
           WHEN salary > 5000 THEN 'High'
           WHEN salary BETWEEN 3000 AND 5000 THEN 'Medium'
           ELSE 'Low'
       END AS salary_level
FROM employees;

6. 总结

  • 算术运算符:用于进行加法、减法、乘法、除法等基本数学运算。
  • 比较运算符:用于比较值,常用于 WHERE 子句中,例如 =, >, BETWEEN 等。
  • 逻辑运算符:用于组合多个条件,包括 AND, OR, NOT 等。
  • 位运算符:用于整数的位级运算,如 &, |, ^, <<, >> 等。
  • 其他运算符:如字符串连接 CONCAT(), 替换 NULL 值 IFNULL() 和条件表达式 CASE

MySQL 运算符为 SQL 查询提供了强大的计算和数据处理能力,能够帮助我们执行复杂的查询和条件判断。掌握这些运算符将大大提升你的 SQL 查询效率和灵活性。

发表回复 0

Your email address will not be published. Required fields are marked *