Union - Can join two tables without common port. Joiner- Can join any two heterogeneous sources, but common port is necessary. Lookup - We can join two tables by using SQL over-ride, apart from that we can check whether the row is already existing or not.
Union: while we have to join two sources should data structure same.
1) Joiner is active transformation where as Lookup is a passive transformation
2) In joiner we can join two heterogeneous sources for entire Records based on a condition.
But in look up only the first value or last value of the Records will be passed if more records matched with that condition. So only one value will be returned to the transformation.
3) If we need entire values we must go for joiner. Take that look up table as source and use joiner. No alternative solution.
4) Joiner operates on source Lookup operates on source and target level
5) Joiner does not support non-equijoin its support equijoin. Lookup supports non-equijoin
6) Joiner does not match for null values Lookup supports null values
7) Join supports only = operator Lookup supports <=,>=,=,1= operators
8) Joiner supports outer join but lookup does not.