SQL - 算术运算符



SQL 算术运算符用于对数据库中的数字数据类型执行基本的数学运算。SQL 中最常用的算术运算符是

以下是 SQL 中所有可用算术运算符的列表。

运算符 描述 示例
+ 将运算符两侧的值相加。 10 + 20 等于 30
- 从左操作数中减去右操作数。 20 - 30 等于 -10
* 将运算符两侧的值相乘。 10 * 20 等于 200
/ 将左操作数除以右操作数。 20 / 10 等于 2
% 将左操作数除以右操作数并返回余数。 5 % 2 等于 1

在本节中,我们将逐一学习每个运算符,并通过示例演示其用法。在继续之前,让我们使用以下查询创建一个名为**EMPLOYEE**的表:

CREATE TABLE EMPLOYEE(
   ID INT NOT NULL,
   NAME VARCHAR(15) NOT NULL,
   AGE INT NOT NULL,
   ADDRESS CHAR(25),
   SALARY DECIMAL(10, 2),
   JOIN_DATE DATE,
   PRIMARY KEY(ID)
);

创建表后,我们可以使用以下查询向表中插入一些值:

INSERT INTO EMPLOYEE(ID, NAME, AGE, ADDRESS, SALARY, JOIN_DATE) VALUES(2, 'Ramesh', 21, 'Hyderabad', 25550.12, '2023/01/02');
INSERT INTO EMPLOYEE(ID, NAME, AGE, ADDRESS, SALARY, JOIN_DATE) VALUES(1, 'khilan', 22, 'Nijamabad', 57500.84, '2022/01/14');
INSERT INTO EMPLOYEE(ID, NAME, AGE, ADDRESS, SALARY, JOIN_DATE) VALUES(4, 'Kaushik', 18, 'Bangolore', 47275.43, '2023/03/15');
INSERT INTO EMPLOYEE(ID, NAME, AGE, ADDRESS, SALARY, JOIN_DATE) VALUES(5, 'chaitali', 23, 'Ranchi', 40700.76, '2022/04/18');
INSERT INTO EMPLOYEE(ID, NAME, AGE, ADDRESS, SALARY, JOIN_DATE) VALUES(6, 'Hardhik', 19, 'Noida', 44200.09, '2023/06/04');
INSERT INTO EMPLOYEE(ID, NAME, AGE, ADDRESS, SALARY, JOIN_DATE) VALUES(3, 'komal', 23, 'Chennai', 44200.09, '2023/10/08');

让我们使用以下查询验证表是否已创建:

SELECT * FROM EMPLOYEE;

如下所示输出,该表已在数据库中创建。

ID 姓名 年龄 地址 薪水 入职日期
1 Khilan 22 Nizamabad 57500.84 2022-01-14
2 Ramesh 21 Hyderabad 25550.12 2023-01-02
3 Komal 23 Chennai 44200.09 2023-10-08
4 kaushik 18 Bangalore 47275.43 2023-03-15
5 Chaitali 23 Ranchi 40700.76 2022-04-18
6 Hardhik 19 Noida 44200.09 2023-06-04

现在,让我们使用上表执行所有 SQL 比较运算。

SQL 加法 (+) 运算符

SQL 中的加法运算符用于将两个或多个数值相加。它类似于基本数学中的“加号”。

示例

在下面的示例中,我们尝试执行加法运算,向所有员工的现有薪水中添加 5000 元的奖金。

SELECT ID, NAME, SALARY, SALARY + 5000 AS "SALARY_BONUS" FROM employee;

输出

执行上述查询后,将获得如下输出:

ID 姓名 薪水 奖金后薪水
1 Khilan 57500.84 62500.84
2 Ramesh 25550.12 30550.12
3 Komal 44200.09 49200.09
4 kaushik 47275.43 52275.43
5 Chaitali 40700.76 45700.76
6 Hardhik 44200.09 49200.09

SQL 减法 (-) 运算符

SQL 中的减法运算符用于从一个数值中减去另一个数值。它类似于基本数学中的“减号”。

示例

在这里,我们使用 - 运算符来查找薪水最高的员工和薪水最低的员工之间的薪水差。

SELECT MAX(salary), MIN(salary), MAX(salary)-MIN(salary) AS salary_difference FROM employee;

输出

执行上述查询后,将显示如下输出:

MAX(salary) MIN(salary) 薪水差
57500.84 25550.12 31950.72

SQL 乘法 (*) 运算符

SQL 中的乘法运算符用于对数值执行数学乘法。它允许我们将两列或多个列或数字表达式相乘,得到一个新值,该值表示操作数的乘积。

示例

现在,我们执行 * 运算,为所有员工的薪水增加 10% 的奖金。

SELECT NAME, AGE, ADDRESS, SALARY * 1.10 AS new_salary_with_bonus FROM employee;

输出

上述查询生成的表如下所示:

姓名 年龄 地址 包含奖金的新薪水
Khilan 22 Nijamabad 63250.9240
Ramesh 21 Hyderabad 28105.1320
Komal 23 Chennai 48620.0990
kaushik 18 Bangalore 52002.9730
Chaitali 23 Ranchi 44770.8360
Hardhik 19 Noida 48620.0990

SQL 除法 (/) 运算符

SQL 中的除法运算符 (/) 用于对数值执行数学除法。它允许我们将一个数字操作数除以另一个数字操作数,得到一个新值,该值表示除法的商。

示例

在这里,我们使用 / 运算符来计算所有员工的平均薪水。

SELECT AVG(SALARY) AS average_salary FROM employee;

输出

以下是上述查询的输出:

平均薪水
43237.888333

SQL 模数 (%) 运算符

SQL 中的模数运算符 (%) 用于查找一个数值除以另一个数值后的余数。它返回除法运算的整数余数。

示例

在下面的示例中,我们使用 % 运算符来找出员工 ID 为偶数的员工。

SELECT * FROM employee WHERE ID % 2 = 0;

输出

产生的输出如下所示:

ID 姓名 年龄 地址 薪水 入职日期
2 Ramesh 21 Hyderabad 25550.12 2023-01-02
4 kaushik 18 Bangalore 47275.43 2023-03-15
6 Hardhik 19 Noida 44200.09 2023-06-04
sql-operators.htm
广告