我们不仅能在SELECT语句中使用计算字段,而且同样可以在进行数据过滤、数据删除、及数据更细的时候使用计算字段。
1. 计算处于合理工资范围内的员工
我们规定一个合理的工资范围:上限为年龄的1.8被加上5000晕,下线为年龄的1.5倍加上2000元,介于这两者之间的即为合理工资。我们需要查询所有处于合理工资范围内的员工信息。因此编写如下的SQL语句:
SELECT * FROM T_Employee WHERE FSalary BETWEEN FAge * 1.5 + 2000 and Fage* 1.8 + 5000
这里我们在BETWEEN... AND... 语句中使用了计算表达式。执行完毕我们就能看到下面的执行结果:
+---------+-------+------+---------+-------------+---------------+ | FNumber | FName | FAge | FSalary | FSubCompany | FDepartment | +---------+-------+------+---------+-------------+---------------+ | DEV002 | Jerry | 28 | 2300.00 | ShenZhen | Development | | HR001 | Jane | 23 | 4300.00 | Beijing | HumanResource | | HR002 | Tina | 25 | 3300.00 | Beijing | HumanResource | | IT002 | NULL | 27 | 2800.00 | ShenZhen | InfoTech | +---------+-------+------+---------+-------------+---------------+
2. 查询工资年龄指数
我们定义年龄指数为工资除以年龄,需要查询工资年龄指数的最高值和最低值。因此编写如下的SQL语句:
SELECT MAX(FSalary/FAge) AS MAXVALUE, MIN(FSalary/FAge) AS MINVALUE FROM T_Employee
+---------------+--------------+ | MAXVALUE | MINVALUE | +---------------+--------------+ | 332.000000000 | 82.142857142 | +---------------+--------------+
3. 年龄全部加1
新的一年到来了,系统需要自动将员工的年龄全部加1。
这种方式在数据量比较大的时候速度是非常慢的,而在UPDATE中使用计算字段则可以非常快速地完成任务。编写下面的SQL语句:
UPDATE T_Employee SET FAge = FAge + 1
这里在SET子句中采用计算字段的方式为FAge字段设定了新值。
执行完毕后再执行SELECT * FROM T_Employee 来查看修改后的数据。