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 | NAME | AGE | ADDRESS | SALARY | JOIN_DATE |
---|---|---|---|---|---|
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 | NAME | SALARY | SALARY_BONUS |
---|---|---|---|
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 减法 (-) 运算符
例子
在这里,我们使用 – 运算符来计算最高薪水和最低薪水员工之间的薪水差。
SELECT MAX(salary), MIN(salary), MAX(salary)-MIN(salary) AS salary_difference FROM employee;
输出
在执行上述查询时,输出显示如下 –
MAX(salary) | MIN(salary) | salary_difference |
---|---|---|
57500.84 | 25550.12 | 31950.72 |
SQL乘法(*)操作符
SQL中的乘法操作符用于对数值进行数学乘法运算。它允许我们将两列或多个数值表达式相乘,从而得到一个新值,表示操作数的乘积。
示例
现在,我们正在执行*
操作,为所有员工的工资增加10%的奖金。
SELECT NAME, AGE, ADDRESS, SALARY * 1.10 AS new_salary_with_bonus FROM employee;
输出
上述查询的结果表如下所示 –
NAME | AGE | ADDRESS | new_salary_with_bonus |
---|---|---|---|
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 Division (/)操作符
SQL中的除法操作符(/)用于对数值进行数学除法。它允许我们将一个数值操作数除以另一个数值操作数,结果是一个表示除法商的新值。
示例
在这里,我们使用/操作符来计算所有员工的平均工资。
SELECT AVG(SALARY) AS average_salary FROM employee;
输出
以下是上述查询的输出结果 –
average_salary
43237.888333
SQL 求模运算符(%)
在 SQL 中,求模运算符(%
)用于在一个数值被另一个数值除后,找出余数。它返回除法操作的整数余数。
示例
在下面的示例中,我们使用 % 运算符来找出具有偶数员工 ID 的员工。
SELECT * FROM employee WHERE ID % 2 = 0;
输出
产生的输出如下所示 –
ID | NAME | AGE | ADDRESS | SALARY | JOIN_DATE |
---|---|---|---|---|---|
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 |