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

Oracle सिंटैक्स लेफ्ट तीन या अधिक तालिकाओं को जोड़ता है

आप इसे कैस्केडिंग तरीके से देख सकते हैं। हालांकि, कुंजी उन तालिकाओं की तलाश करना है जो एक ही क्वेरी में बाएं और दाएं शामिल हो गए हैं। इस मामले में, आदेश अलग है:वह स्थिति जहां तालिका सही जुड़ी हुई है, पहले लागू होती है। मुझे आशा है कि निम्न आरेख इस पर कुछ प्रकाश डालेगा:

आप क्वेरी की निष्पादन योजना को देखकर भी इन जॉइन के क्रम की जांच कर सकते हैं:

Q1 के लिए:

select a.c a, b.c b, c.c c   from a, b, c  where a.c = b.c (+)    and
c.c = a.c (+)

------------------------------------------------------------------------
| Id  | Operation           | Name | E-Rows |  OMem |  1Mem | Used-Mem |
------------------------------------------------------------------------
|   0 | SELECT STATEMENT    |      |        |       |       |          |
|*  1 |  HASH JOIN OUTER    |      |      4 |  2168K|  2168K|  805K (0)|
|*  2 |   HASH JOIN OUTER   |      |      4 |  2616K|  2616K|  981K (0)|
|   3 |    TABLE ACCESS FULL| C    |      4 |       |       |          |
|   4 |    TABLE ACCESS FULL| A    |      4 |       |       |          |
|   5 |   TABLE ACCESS FULL | B    |      4 |       |       |          |
------------------------------------------------------------------------

Q2 के लिए:

select a.c a, b.c b, c.c c   from a, b, c  where c.c = a.c (+)    and
a.c = b.c (+)

------------------------------------------------------------------------
| Id  | Operation           | Name | E-Rows |  OMem |  1Mem | Used-Mem |
------------------------------------------------------------------------
|   0 | SELECT STATEMENT    |      |        |       |       |          |
|*  1 |  HASH JOIN OUTER    |      |      4 |  2168K|  2168K|  801K (0)|
|*  2 |   HASH JOIN OUTER   |      |      4 |  2616K|  2616K|  983K (0)|
|   3 |    TABLE ACCESS FULL| C    |      4 |       |       |          |
|   4 |    TABLE ACCESS FULL| A    |      4 |       |       |          |
|   5 |   TABLE ACCESS FULL | B    |      4 |       |       |          |
------------------------------------------------------------------------


  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. Oracle क्लॉब कॉलम में किसी विशेष स्ट्रिंग की खोज करें

  4. एकाधिक माता-पिता द्वारा ओरेकल कनेक्ट

  5. हाइबरनेट पुराने डेटा को hibernate.jdbc.batch_versioned_data के साथ सहेजता है