Alasannya adalah karena Anda memasukkan tabel sebelah kanan di WHERE
ayat. Anda harus memindahkannya ke ON
kondisi 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
Alasan dilakukannya ini adalah karena WHERE
klausa dievaluasi setelah LEFT JOIN
, yang kemudian memfilter NULL
. Anda hasil dari LEFT JOIN
.
Termasuk tabel sebelah kanan dari LEFT JOIN
(atau tabel sebelah kiri dari RIGHT JOIN
) di WHERE
klausa secara efektif mengubah OUTER JOIN
menjadi INNER JOIN
.