📜  SQL |算术运算符

📅  最后修改于: 2021-09-09 10:43:11             🧑  作者: Mango

先决条件:基本 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 文档