... bei outer joins werden die "ergänzten" Sätze (das sind die, die kein Pendant haben) mit Null Values im Resultset aufgenommen. Für null gilt eine dreiwertige Logik: Alle Vergleiche mit Null liefern false, null is also weder gleich ungleich, größer oder kleiner als jeder andere Wert. Die einzige Operation mit null, die TRUE liefert, ist die spezielle Abfrage ISNULL. Wenn ich also einen Vergleich in dei Where Klausel schieben will, muss ich entsprechend mit IS NOT NULL sicherstellen, dass da nix wegdüst. In der Join Klausel ist das einfacher und eleganter.
In manchen Fällen kann man da auch im View Layer die Nullfelder mit coalesce in blanks oder 0 tauschen. (wenn's die fachliche Logik erlaubt)

D*B