मेरा मानना है कि आप इसे एक ऑपरेटर वरीयता के मुद्दे के रूप में सोच सकते हैं।
जब आप इसे लिखते हैं:
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