AND C.ENTITYKEY = A.ENTITYKEY_1
AND D.ENTITYKEY = A.ENTITYKEY_2

is A.ENTITYKEY_1 FK of C.ENTITYKEY?
is A.ENTITYKEY_2 FK of D.ENTITYKEY?

You have to check the relationships not just because the column name are similar then you use it for join condition, now it may return same rows as other SQL statement but in the future?

Also your second example is totally wrong, how can you compare

select * from emp

and

select * from emp a, emp b

oranges and apples