TBL4.PROPERTY_NAME(+)='Id'
oznacza, że gdy linia była połączona wewnętrznie, wartość musi być 'Id' , ale gdy linia została połączona na zewnątrz, warunek jest oceniany jako prawdziwy
jednak powinieneś przepisać oświadczenie do standardu jako:
SELECT *
FROM TBL1
JOIN TBL2 ON TBL2.Type_ID = TBL1.Type_ID
JOIN TBL3 ON TBL3.Project_ID = TBL1.Project_ID
LEFT JOIN TBL4 ON TBL4.Entity_ID=TBL1.Entity_ID AND TBL4.PROPERTY_NAME='Id'