When you use disting with join or concatenate in QlikView it works for all tables which are joined or concatenated. Istead of this In SQL it work only for table where you use it.
In order to prove it you can try to do concatenate in qlikview using disting for one table. You will see that it apply for all of them.
Your second example
LOAD * INLINE [
LOAD distinct * INLINE [
left join(tab1) load * Resident tab2;
drop table tab2;
Disting apply only for one table because tab2 is loaded without connection (join or concatenate) to any other table.
This is what I know from my own experience.