निम्नलिखित दो प्रश्नों अलग परिणाम लौट रहे हैं, मेरे आश्चर्य:एसक्लाइट में एकाधिक जॉइन स्टेटमेंट की प्राथमिकता क्या है?
SELECT *
FROM foo
JOIN bar
ON bar.id=foo.bar_id
JOIN baz
ON baz.id=foo.baz_id
LEFT JOIN zig
ON zig.foo_id=foo.id;
और:
SELECT *
FROM foo
LEFT JOIN zig
ON zig.foo_id=foo.id
JOIN bar
ON bar.id=foo.bar_id
JOIN baz
ON baz.id=foo.baz_id;
मैं कल्पना है कि यह नहीं बात आप जब LEFT JOIN
zig
पर, के बाद से मैं चाहिए कर रहा हूँ bar
और baz
में शामिल होने पर zig
के कॉलम का उपयोग नहीं कर रहा हूं। हालांकि, ऐसा लगता है कि बाद में, JOIN
bar
और baz
की पंक्तियों को निगलती है जहां zig
null
मान थे ... वह क्यों है?
मुझे संदेह है कि यह मेरी समस्या का एक गलत सरलीकरण था - उन दो प्रश्नों को वास्तव में समान होना चाहिए, मैं कुछ और कर रहा था। –