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

Oracle sql व्युत्पन्न तालिका - वैकल्पिक अलियासिंग

आपको केवल उपनाम की आवश्यकता है, जब आप किसी ऐसे कॉलम का संदर्भ दे रहे हैं जो विशिष्ट रूप से परिभाषित नहीं है। इसका मतलब है कि कॉलम एक से अधिक टेबल/व्युत्पन्न तालिका में मौजूद है। एक संदर्भ चयन कथन, या एक जुड़ाव में हो सकता है। यदि सभी कॉलम अद्वितीय हैं, तो आपको उपनाम की आवश्यकता नहीं है।

मैं स्पष्टता के लिए हर समय उपनाम देना पसंद करता हूं, और क्योंकि यह PL/SQL में Intellisense में मदद करता है।

--ALIAS needed, because the 'a' column referenced is not unique
--this will throw an error
select a, a, b, c
  from (select 'A1' as a, 'B1' as b, 'C1' as c from dual),
       (select 'A2' as a from dual);
--this will not throw an error
select t1.a, t2.a, b,c
  from (select 'A1' as a, 'B1' as b, 'C1' as c from dual) t1,
       (select 'A2' as a from dual) t2;
;

--ALIAS not needed for join, because all referenced columns are unique
select a, b, c, d, e, f
  from (select 'A' as a, 'B' as b, 'C' as c from dual)
  join (select 'D' as d, 'E' as e, 'F' as f from dual)
    on a = d;

--ALIAS needed for join, because the 'x' column referenced is not unique
--this will throw an error
select a
  from (select 'A' as a, 'B' as b, 'C' as c, 'X' as x from dual)
  join (select 'D' as d, 'E' as e, 'F' as f, 'X' as x from dual)
    on x = x;
--this will not throw an error
select a
  from (select 'A' as a, 'B' as b, 'C' as c, 'X' as x from dual) t1
  join (select 'D' as d, 'E' as e, 'F' as f, 'X' as x from dual) t2
    on t1.x = t2.x;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL डेवलपर में नया कनेक्शन जोड़ते समय Oracle TNS नाम प्रदर्शित नहीं हो रहे हैं

  2. Oracle क्लॉब कॉलम में किसी विशेष स्ट्रिंग की खोज करें

  3. पीएल/एसक्यूएल में फाइल से बीएलओबी कैसे प्राप्त करें?

  4. खंड बनाम <=और>=. के बीच

  5. Oracle में 10 मिनट के भीतर 10 मिलियन प्रश्नों का INSERT?