में
FROM working_place wp
JOIN working_place_worker wpw ON ...
WHERE ...
ON खंड केवल को संदर्भित करता है शामिल होने में भाग लेने वाली दो तालिकाओं के लिए, अर्थात् wp और wpw . बाहरी क्वेरी के नाम इसे दिखाई नहीं दे रहे हैं।
WHERE खंड (और उसका चचेरा भाई HAVING वह माध्यम है जिसके द्वारा बाहरी क्वेरी को सबक्वेरी से सहसंबद्ध किया जाता है। बाहरी क्वेरी से नाम हैं इसके लिए दृश्यमान।
याद रखना आसान बनाने के लिए,
- ON JOIN के बारे में है, कैसे दो टेबल एक पंक्ति (या पंक्तियाँ) बनाने के लिए संबंधित हैं
- चयन मानदंड के बारे में कहां है, परीक्षण पंक्तियों को पास करना होगा
जबकि SQL पार्सर ON क्लॉज में अक्षर (जो कॉलम नाम नहीं हैं) को स्वीकार करेगा, यह जॉइन के बाहर कॉलम के संदर्भ में रेखा खींचता है। आप इसे एक ऐसा एहसान मान सकते हैं जो त्रुटियों से बचाता है।
आपके मामले में, wo तालिका JOIN का हिस्सा नहीं है , और खारिज कर दिया जाता है। यह है पूरी क्वेरी का हिस्सा है, और WHERE . द्वारा पहचाना जाता है .