इसका कारण यह है कि आप WHERE
. में दायीं ओर की तालिका शामिल कर रहे हैं खंड। आपको इसे ON
. पर ले जाना चाहिए LEFT JOIN
. की शर्त :
Select P.appId, S.stepId, S.section, P.start
From #appSteps S With (NoLock)
Left Join #appProgress P On S.stepId = P.stepId
And P.appId = 101
Where S.section Is Not Null
ऐसा करने का कारण यह है कि WHERE
खंड का मूल्यांकन बाद . किया जाता है LEFT JOIN
, जो तब आपके NULL
. को फ़िल्टर कर देता है LEFT JOIN
. से परिणाम ।
LEFT JOIN
. की दायीं ओर की तालिका सहित (या RIGHT JOIN
. की बाईं ओर की टेबल ) WHERE
. में क्लॉज प्रभावी रूप से OUTER JOIN
को बदल देता है एक INNER JOIN
. में ।