SQL 运算符是我们在 SQL 查询中用于对数据执行操作的符号或关键字。
- 执行计算、比较和逻辑检查等操作。
- 能够在数据库中筛选、计算和更新数据。
- 对于查询优化和准确的数据管理至关重要。
!<a href="https://media.geeksforgeeks.org/wp-content/uploads/20251112145208765825/sqloperators-updated.webp">sqloperators-updated
1. 算术运算符
SQL 中的算术运算符用于在查询中对数值数据类型执行数学运算。下面我们将介绍一些常见的算术运算符:
示例:
-- 创建一个示例表
CREATE TABLE Employees (
EmpID INT,
EmpName VARCHAR(50),
Salary INT,
Bonus INT
);
-- 插入示例数据
INSERT INTO Employees (EmpID, EmpName, Salary, Bonus)
VALUES
(1, ‘Amit‘, 40000, 5000),
(2, ‘Neha‘, 50000, 7000),
(3, ‘Ravi‘, 30000, 3000);
-- 使用算术运算符
SELECT
EmpName,
Salary,
Bonus,
Salary + Bonus AS Total_Income, -- 加法
Salary - Bonus AS After_Bonus_Deduction, -- 减法
Salary * 0.10 AS Ten_Percent_Salary, -- 乘法
Salary / 12 AS Monthly_Salary, -- 除法
Salary % 10000 AS Salary_Remainder -- 取模
FROM Employees;
输出结果:
Salary
TotalIncome
TenPercentSalary
Salary_Remainder
—
—
—
—
40000
45000
4000
0
50000
57000
5000
0
30000
33000
3000
0## 2. 比较运算符
SQL 中的比较运算符用于将一个表达式的值与另一个表达式进行比较。SQL 支持不同类型的比较运算符,下面我们将详细描述:
示例:
-- 创建示例表
CREATE TABLE Students (
ID INT,
Name VARCHAR(50),
Marks INT
);
-- 插入数据
INSERT INTO Students VALUES
(1, ‘Amit‘, 85),
(2, ‘Neha‘, 70),
(3, ‘Ravi‘, 55);
-- 使用比较运算符
SELECT *
FROM Students
WHERE Marks >= 70; -- 筛选得分大于等于 70 的学生
输出结果:
Name
—
Amit
Neha
3. 逻辑运算符
SQL 中的逻辑运算符用于组合或操作查询中的条件,以便根据指定的标准来检索或操作数据。
示例:
-- 创建示例表
CREATE TABLE Students (
ID INT,
Name VARCHAR(50),
Marks INT,
Age INT
);
-- 插入数据
INSERT INTO Students VALUES
(1, ‘Amit‘, 85, 18),
(2, ‘Neha‘, 70, 19),
(3, ‘Ravi‘, 55, 17);
-- 使用逻辑运算符
SELECT *
FROM Students
WHERE Marks >= 70 AND Age >= 18; -- 两个条件必须同时为真
SELECT *
FROM Students
WHERE Marks < 60 OR Age = 70; -- 对条件取反
输出结果:
Name
Age
—
—
Amit
18
Neha
19## 4. 位运算符
SQL 中的位运算符用于在查询中对二进制值执行位操作,通过操作单个位来执行位级别的逻辑运算。
示例:
-- 创建示例表
CREATE TABLE Users (
UserID INT,
UserName VARCHAR(50),
Permissions INT -- 将权限标志存储为数字
);
-- 插入示例数据
-- 权限标志:读=1,写=2,执行=4
INSERT INTO Users (UserID, UserName, Permissions) VALUES
(1, ‘Amit‘, 1), -- 仅读
(2, ‘Neha‘, 3), -- 读 + 写
(3, ‘Ravi‘, 7); -- 读 + 写 + 执行
-- 示例 1:检查用户是否具有写权限(按位与)
SELECT *
FROM Users
WHERE Permissions & 2 = 2; -- 2 = 写权限
-- 示例 2:添加执行权限(按位或)
UPDATE Users
SET Permissions = Permissions | 4
WHERE UserName = ‘Neha‘; -- 现在 Neha 拥有执行权限
-- 示例 3:移除读权限(按位与 + 取反)
UPDATE Users
SET Permissions = Permissions & ~1
WHERE UserName = ‘Ravi‘; -- 从 Ravi 那里移除读权限
-- 示例 4:切换写权限(按位异或)
UPDATE Users
SET Permissions = Permissions ^ 2
WHERE UserName = ‘Amit‘; -- 切换写权限
-- 示例 5:显示所有用户的最终权限
SELECT * FROM Users;
输出结果:
Initial Permissions
Final Permissions
Meaning
—
—
—
1
3
Read + Write
3
| 4) 7
7
6
Write + Execute## 5. 复合运算符
复合运算符将操作与赋值结合在一起。这些运算