The purpose is to calculate the slope between each point in the drawing and the point that is 20m farther (which is ID+20 in the ID field). The [elev] field contains the altitude. The query is working nicely, but if it can runs faster, that would great !

That's exactly it. The difference is that for the earlier query, the match in the correlated subquery is (re)evaluated once for each row in [Points_isol], i.e. for each SET operation; while for the version using a join, all matching is done once in advance, then all SET operations are quickly applied to the result.