一、定义:
- 符号两边 一定要是数字 或 数值类型的表头
- 计算符号:加(
+
)、减(-
)、乘(*
)、除(/
)、取余(%
) - 运算符是横向计算(函数是垂直运算)
二、使用案例:
- 加法
# 输出8号员工2019年1月10 工资总和
mysql> select employee_id ,date , basic + bonus as 总工资 from tarena.salary
where employee_id = 8 and date=20190110;
+-------------+------------+----------------+
| employee_id | date | 总工资 |
+-------------+------------+----------------+
| 8 | 2019-01-10 | 24093 |
+-------------+------------+----------------+
- 乘法
# 查看8号员工2019年1月10 基本工资翻3倍的 值
mysql> select employee_id , basic , basic * 3 as 工资翻三倍 from tarena.salary
where employee_id=8 and date=20190110;
+-------------+-------+-----------------+
| employee_id | basic | 工资翻三倍 |
+-------------+-------+-----------------+
| 8 | 23093 | 69279 |
+-------------+-------+-----------------+
1 row in set (0.00 sec)
三、综合应用:
salary 工资表:
employee_id 员工编号
basic 基本工资
bonus 奖金
date 发工资日期employees 员工表
birth_date 生日
employee_id 员工编号
- 查看1号、3号、5号 员工 2020年1月10号 的基本工资和奖金
mysql> select employee_id ,basic,bonus from tarena.salary
where employee_id in (1,3,5) and date=20200110;
+-------------+-------+-------+
| employee_id | basic | bonus |
+-------------+-------+-------+
| 1 | 17866 | 3000 |
| 3 | 10210 | 4000 |
| 5 | 17866 | 1000 |
+-------------+-------+-------+
3 rows in set (0.00 sec)
- 分别计算 1号、3号、5号 员工 2020年1月10号 的工资总和
mysql> select employee_id ,basic+bonus from tarena.salary where employee_id in (1,3 ,5) and date=20200110;
+-------------+-------------+
| employee_id | basic+bonus |
+-------------+-------------+
| 1 | 20866 |
| 3 | 14210 |
| 5 | 18866 |
+-------------+-------------+
3 rows in set (0.00 sec)
- 计算 1号、3号、5号 三个员工 2020年1月10号 总工资相加的和
mysql> select sum(basic+bonus) from tarena.salary where employee_id in (1,3 ,5) and date=20200110;
+------------------+
| sum(basic+bonus) |
+------------------+
| 53942 |
+------------------+
1 row in set (0.00 sec)
- 查看8号员工的出生年份
mysql> select employee_id , year(birth_date) as 出生年份 from tarena.employees
where employee_id = 8 ;
+-------------+--------------+
| employee_id | 出生年份 |
+-------------+--------------+
| 8 | 1993 |
+-------------+--------------+
1 row in set (0.00 sec)
- 查看8号员工的出生月份
mysql> select employee_id , month(birth_date) as 出生月份 from tarena.employees
where employee_id = 8 ;
+-------------+--------------+
| employee_id | 出生月份 |
+-------------+--------------+
| 8 | 3 |
+-------------+--------------+
1 row in set (0.00 sec)
- 查看8号员工的出生年份和年龄
mysql> select employee_id ,year(birth_date) as 出生年份 , 2022 - year(birth_date) as 年龄 from tarena.employees where employee_id = 8 ;
+-------------+--------------+------+
| employee_id | 出生年份 | 年龄 |
+-------------+--------------+------+
| 8 | 1993 | 29 |
+-------------+--------------+------+
1 row in set (0.00 sec)
网友评论