Only with these informations it couldn't be said that one approach is better than the other. At first is to check if both methods return the same and correct results by all objects/calculations which are needed - there might be some adjustments necessary to them to reflect the differences within the datamodel.
If both approaches are working in general your decision which one to prefer might consider which approach is more suitable to your further requirements (probably there are more tables included within the datamodel) and which is more handy to you - and of course if the load-runtimes or the UI performance is significantly different and also a real issue you had found your better solution.
Beside them the SQL statement will be executed from the database - qlikview only triggers the execution and received the results. Therefore the speed of the database (especially in considering to it current workload) and also the performance of the odbc-driver and the network-speed will determine how long it will take to return a result. You might get faster results if you only queries your needed fields and not used the "*" wildcard by your mapping-loads.
Another point is the inner joining which not only adds some fields to the other table else it is also a strong filter because only the matchings from both sides remain within the dataset - often this is fully intended (I use this often with extra created tables as a convenient way by complex filtering-requirements to avoid heavy where-conditions). From this point of view I would expect that the join-approach returned lesser records than your mapping-method.