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

इनर जॉइन और आउटर जॉइन; तालिकाओं का क्रम महत्वपूर्ण से है?

मेरा मानना ​​है कि आप इसे एक ऑपरेटर वरीयता के मुद्दे के रूप में सोच सकते हैं।

जब आप इसे लिखते हैं:

FROM groups grp,
     insrel archiverel  
LEFT OUTER JOIN ownrel ownrel ON grp.number = ownrel.dnumber   
LEFT OUTER JOIN tags tags ON tags.number = ownrel.snumber   

मुझे लगता है कि पार्सर द्वारा इसकी व्याख्या इस तरह की जाती है:

FROM groups grp,
(
  (
     insrel archiverel  
     LEFT OUTER JOIN ownrel ownrel ON grp.number = ownrel.dnumber   
  )
LEFT OUTER JOIN tags tags ON tags.number = ownrel.snumber
)

यदि ऐसा है, तो अंतरतम में शामिल हों "grp" अनबाउंड है।

जब आप "ग्रुप्स" और "इनसेल" के साथ लाइनों को उल्टा करते हैं, तो अंतरतम जुड़ाव "ग्रुप्स" और "ओनरेल" पर लागू होता है, इसलिए यह काम करता है।

शायद यह भी काम करेगा:

    FROM groups grp
         JOIN insrel archiverel  ON archiverel.dnumber = grp.number
    LEFT OUTER JOIN ownrel ownrel ON grp.number = ownrel.dnumber   
    LEFT OUTER JOIN tags tags ON tags.number = ownrel.snumber 
WHERE archiverel.snumber = 11128188


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL ने उपयोगकर्ताओं और समूहों को भूमिकाओं में विलय क्यों किया?

  2. Createuser:डेटाबेस पोस्टग्रेज से कनेक्ट नहीं हो सका:FATAL:रोल टॉम मौजूद नहीं है

  3. यादृच्छिक पंक्तियों का चयन करने का सबसे अच्छा तरीका PostgreSQL

  4. PostgreSQL स्ट्रीमिंग प्रतिकृति के साथ शुरुआत करना

  5. पैटर्न मिलान का उपयोग करने में त्रुटि PostgreSQL में किसी की तरह नहीं