先决条件:基本 Select 语句、Insert into 子句、Sql Create 子句、SQL 别名
我们可以对存储在表中的数据使用各种算术运算符。
算术运算符是:
+ [Addition]
- [Subtraction]
/ [Division]
* [Multiplication]
% [Modulus]
加法(+) :
用于对数据项进行加法运算,项包括单列或多列。
实施:
SELECT employee_id, employee_name, salary, salary + 100
AS "salary + 100" FROM addition;
输出:
employee_id | employee_name | salary | salary+100 |
---|---|---|---|
1 | alex | 25000 | 25100 |
2 | rr | 55000 | 55100 |
3 | jpm | 52000 | 52100 |
4 | ggshmr | 12312 | 12412 |
这里我们对每个Employee的工资做了100的加法,即单列的加法运算。
让我们执行添加 2 列:
SELECT employee_id, employee_name, salary, salary + employee_id
AS "salary + employee_id" FROM addition;
输出:
employee_id | employee_name | salary | salary+employee_id |
---|---|---|---|
1 | alex | 25000 | 25001 |
2 | rr | 55000 | 55002 |
3 | jpm | 52000 | 52003 |
4 | ggshmr | 12312 | 12316 |
在这里,我们已经完成了 2 列的相加,即,每个员工的 employee_id 与其薪水相加。
减法(-) :
用于对数据项进行减法运算,项包括单列或多列。
实施:
SELECT employee_id, employee_name, salary, salary - 100
AS "salary - 100" FROM subtraction;
输出:
employee_id | employee_name | salary | salary-100 |
---|---|---|---|
12 | Finch | 15000 | 14900 |
22 | Peter | 25000 | 24900 |
32 | Warner | 5600 | 5500 |
42 | Watson | 90000 | 89900 |
这里我们对每个Employee的工资做了100的减法,即单列的减法运算。
让我们执行2 列的减法:
SELECT employee_id, employee_name, salary, salary - employee_id
AS "salary - employee_id" FROM subtraction;
输出:
employee_id | employee_name | salary | salary – employee_id |
---|---|---|---|
12 | Finch | 15000 | 14988 |
22 | Peter | 25000 | 24978 |
32 | Warner | 5600 | 5568 |
42 | Watson | 90000 | 89958 |
这里我们做了两列相减,即每个员工的employee_id 都从他的薪水中减去。
Division (/) : 对于Division参考这个链接 – Division in SQL
乘法(*) :
它用于执行数据项的乘法。
实施:
SELECT employee_id, employee_name, salary, salary * 100
AS "salary * 100" FROM addition;
输出:
employee_id | employee_name | salary | salary * 100 |
---|---|---|---|
1 | Finch | 25000 | 2500000 |
2 | Peter | 55000 | 5500000 |
3 | Warner | 52000 | 5200000 |
4 | Watson | 12312 | 1231200 |
这里我们对每个员工的薪水进行了 100 的乘法,即对单列进行乘法运算。
让我们执行2 列的乘法:
SELECT employee_id, employee_name, salary, salary * employee_id
AS "salary * employee_id" FROM addition;
输出:
employee_id | employee_name | salary | salary * employee_id |
---|---|---|---|
1 | Finch | 25000 | 25000 |
2 | Peter | 55000 | 110000 |
3 | Warner | 52000 | 156000 |
4 | Watson | 12312 | 49248 |
这里我们做了两列相乘,即每个员工的employee_id 乘以其薪水。
模量(%) :
它用于在一个数据除以另一个数据时得到余数。
实施:
SELECT employee_id, employee_name, salary, salary % 25000
AS "salary % 25000" FROM addition;
输出:
employee_id | employee_name | salary | salary % 25000 |
---|---|---|---|
1 | Finch | 25000 | 0 |
2 | Peter | 55000 | 5000 |
3 | Warner | 52000 | 2000 |
4 | Watson | 12312 | 12312 |
这里我们对每个Employee的工资做了100的模数,即单列的模数运算。
让我们在两列之间执行模数运算:
SELECT employee_id, employee_name, salary, salary % employee_id
AS "salary % employee_id" FROM addition;
输出:
employee_id | employee_name | salary | salary % employee_id |
---|---|---|---|
1 | Finch | 25000 | 0 |
2 | Peter | 55000 | 0 |
3 | Warner | 52000 | 1 |
4 | Watson | 12312 | 0 |
这里我们做了2列的取模,即每个员工的工资除以其id,并显示相应的余数。
基本上,模数用于检查数字是Even还是Odd 。假设一个给定的数字如果被 2 除以 1 作为余数,那么它是一个奇数,或者如果在除以 2 并给出 0 作为余数,那么它是一个偶数。
NULL 的概念:
如果我们对 NULL执行任何算术运算,则 answer始终为空。
实施:
SELECT employee_id, employee_name, salary, type, type + 100
AS "type+100" FROM addition;
输出:
employee_id | employee_name | salary | type | type + 100 |
---|---|---|---|---|
1 | Finch | 25000 | NULL | NULL |
2 | Peter | 55000 | NULL | NULL |
3 | Warner | 52000 | NULL | NULL |
4 | Watson | 12312 | NULL | NULL |
这里的输出总是空值,因为对空值执行任何操作都会导致空值。
注意:确保 NULL不可用、未分配、未知。空不一样的空格或零。
要深入了解 NULL,请参阅此链接。参考资料:Oracle 文档