"In most cases, a DATA step MERGE statement generally outperforms an SQL outer join, even taking sort resources into account. One exception is a very sparse match join when you only want the observations with matching key values. Also, keep in mind that the SQL procedure and the DATA step MERGE do not provide the same results if you have a many-to-many match."
It really depends on your data and the type of join you want to do. Also, I don't know what you mean by "take the higher priority" -- you have to decide whether you want to optimize your programs and processes for clock time; for CPU resources; for I/O resources; for programmer resources; etc, etc. One technique may be more efficient on one set of data and join conditions, but less efficient on another set of data and join conditions.