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

ओरेकल एसक्यूएल हमें ग्रुप बाय क्लॉज में कॉलम एलियासेस का उपयोग करने की अनुमति क्यों नहीं देता है?

यह सिर्फ Oracle SQL नहीं है, वास्तव में मेरा मानना ​​है कि यह ANSI SQL मानक के अनुरूप है (हालाँकि मेरे पास इसके लिए कोई संदर्भ नहीं है)। कारण यह है कि चयन खंड तार्किक रूप से बाद . संसाधित किया जाता है ग्रुप बाय क्लॉज, इसलिए जिस समय ग्रुप बाय किया जाता है, उस समय उपनाम मौजूद नहीं होते हैं।

शायद यह कुछ हद तक हास्यास्पद उदाहरण इस मुद्दे और उस अस्पष्टता को स्पष्ट करने में मदद करता है जिससे SQL बच रहा है:

SQL> select job as sal, sum(sal) as job
  2  from scott.emp
  3  group by job;

SAL              JOB
--------- ----------
ANALYST         6000
CLERK           4150
MANAGER         8275
PRESIDENT       5000
SALESMAN        5600


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में सभी तालिकाओं को कैसे सूचीबद्ध करें

  2. रनटाइम पर उपयोगकर्ता से इनपुट कैसे प्राप्त करें

  3. SQL त्रुटि:ORA-02000:पहचान कॉलम आधारित तालिका बनाते समय हमेशा कीवर्ड गुम होना

  4. खाली तालिका के MAX () को NULL के बजाय 0 के रूप में कैसे व्यवहार करें?

  5. Oracle IN बनाम मौजूद अंतर?