I suppose it depends on how you define "efficient". In one sense, it
would be more efficient to do all the calculations in one query, so as
to avoid writing multiple queries, and possibly the work entailed in
stitching the correlated results together again later.
On the other hand, I have no idea. Is it more efficient from a processor
POV to run multiple calculation queries versus one query with a bunch of
calculations?
You could test this using VBA to time each method over several trials.
But, I suspect (with absolutely no reason to other than intuition) if
the number of records is relatively small (say, 1000s, not 1000000s) the
difference will be negligible on modern equipment.