jes*_*est 1 sql oracle oracle10g
查询是:
select employee_id
, last_name
, salary
, round((salary+(salary*0.15)), 0) as "NewSalary"
, (round((salary+(salary*0.15)), 0) - salary) as “IncreaseAmount”
from employees;
Run Code Online (Sandbox Code Playgroud)
我是否可以优化此round((salary+(salary*0.15)), 0)部件,以便它不会出现两次?我尝试给它别名,但没有工作:(
要进行一次计算,请执行以下操作:
SELECT employee_id,
last_name,
salary,
NewSalary,
(NewSalary - salary) as “IncreaseAmount”
FROM (Select employee_id,
last_name,
salary,
round(salary*1.15, 0) as NewSalary
FROM employees)
Run Code Online (Sandbox Code Playgroud)
您不能在别名中使用别名作为邻居,但您可以在嵌套选择中对其进行别名并使用该视图的结果两次,但效率更高,因为它只进行一次计算.
| 归档时间: |
|
| 查看次数: |
150 次 |
| 最近记录: |