如何优化此查询?

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)部件,以便它不会出现两次?我尝试给它别名,但没有工作:(

Nic*_*ver 7

要进行一次计算,请执行以下操作:

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)

您不能在别名中使用别名作为邻居,但您可以在嵌套选择中对其进行别名并使用该视图的结果两次,但效率更高,因为它只进行一次计算.