Hvis du ikke vil gentage udtrykket, kan du bruge en afledt tabel:
select *
from (
select id, cos(id) + cos(id) as op
from myTable
) as t
WHERE op > 1;
Dette vil ikke have nogen indflydelse på ydeevnen, det er blot syntaktisk sukker, der kræves af SQL-standarden.
Alternativt kan du omskrive ovenstående til et almindeligt tabeludtryk:
with t as (
select id, cos(id) + cos(id) as op
from myTable
)
select *
from t
where op > 1;
Hvilken man foretrækker er i høj grad en smagssag. CTE'er er optimeret på samme måde som afledte tabeller er, så den første kan være hurtigere, især hvis der er et indeks på udtrykket cos(id) + cos(id)