Om du inte vill upprepa uttrycket kan du använda en härledd tabell:
select *
from (
select id, cos(id) + cos(id) as op
from myTable
) as t
WHERE op > 1;
Detta kommer inte att ha någon inverkan på prestandan, det är bara syntaktisk socker som krävs av SQL-standarden.
Alternativt kan du skriva om ovanstående till ett vanligt tabelluttryck:
with t as (
select id, cos(id) + cos(id) as op
from myTable
)
select *
from t
where op > 1;
Vilken du föredrar är till stor del en smaksak. CTE:er är optimerade på samma sätt som härledda tabeller är, så den första kan vara snabbare, särskilt om det finns ett index på uttrycket cos(id) + cos(id)