यदि आप व्यंजक को दोहराना नहीं चाहते हैं, तो आप एक व्युत्पन्न तालिका का उपयोग कर सकते हैं:
select *
from (
select id, cos(id) + cos(id) as op
from myTable
) as t
WHERE op > 1;
इसका प्रदर्शन पर कोई प्रभाव नहीं पड़ेगा, यह केवल SQL मानक द्वारा आवश्यक वाक्यात्मक चीनी है।
वैकल्पिक रूप से आप उपरोक्त को एक सामान्य तालिका अभिव्यक्ति में फिर से लिख सकते हैं:
with t as (
select id, cos(id) + cos(id) as op
from myTable
)
select *
from t
where op > 1;
आप जो पसंद करते हैं वह काफी हद तक स्वाद का मामला है। सीटीई को उसी तरह से अनुकूलित किया जाता है जैसे व्युत्पन्न तालिकाएं होती हैं, इसलिए पहला तेज हो सकता है, खासकर यदि अभिव्यक्ति cos(id) + cos(id)
पर एक अनुक्रमणिका है।