PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

क्लॉज के साथ परिकलित कॉलम को लागू करने का तरीका पोस्ट करता है

यदि आप व्यंजक को दोहराना नहीं चाहते हैं, तो आप एक व्युत्पन्न तालिका का उपयोग कर सकते हैं:

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) पर एक अनुक्रमणिका है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पोस्टग्रेज में दो टेबल की तुलना कैसे करें

  2. आप पोस्टग्रेज में दिनांक सीमा का चयन कैसे करते हैं?

  3. रेल के साथ, मैं कुल संख्या के लिए डीबी से कैसे पूछ सकता हूं और सप्ताह के आधार पर समूहीकृत कर सकता हूं?

  4. Postgres कॉलम या टेबल नामों को कब उद्धरणों की आवश्यकता होती है और कब नहीं?

  5. EnterpriseDB PPAS 9.2 बीटा में 8 नई Oracle संगतता सुविधाएँ