如何列出emp和tsal的总sal> 1500

时间:2014-11-18 13:34:33

标签: sql oracle11g

SELECT 
  ename
  ,sal
  ,(sal+comm) AS tsal 
FROM emp 
WHERE 
  tsal > 1500
;

在where子句中获取错误, 当我使用'where(sal + comm)> 1500'时,它正常工作。

我们不能在where条件中使用别名吗?

1 个答案:

答案 0 :(得分:1)

不,您无法在WHERE条件下使用列别名;而是在WHERE条件中使用相同的表达式/计算,如

select ename,sal, (sal+comm) as tsal 
from emp 
where sal + comm > 1500

您也可以使用外部查询/内联查询,将别名用作列

select * from
(
select ename, sal, (sal+comm) as tsal 
from emp 
) tab 
where tsal > 1500