Klausa where Anda mengubah gabungan luar kembali menjadi yang dalam.
Baris yang tidak cocok dipertahankan oleh outer join
semua akan memiliki NULL
nilai untuk documentation.status
jadi documentation.status != 3
your Anda kondisi akan menyaring ini kembali (Hasil dari ekspresi NULL !=3
adalah unknown
tidak true
).
Untuk menghindari masalah ini gunakan
select documentation_reference.ref_docnumber,
documentation.filename
from documentation_reference
left outer join documentation
on ref_docnumber = documentation.docnumber
and documentation.status != 3
where documentation_reference.docnumber = 'TP-036'
Perhatikan bahwa documentation.status != 3
predikat dipindahkan ke JOIN
kondisi.