Another item that might help in understanding. A query is based on one or more tables. In your posted case, a table is joined to what I suspect is a select QUERY, which is a "table" of records that must be predetermined before anything can be equated to any table that is part of your main query. Since I can't see the sql for that query, I have to guess that it is a SELECT query - makes the most sense based on the rest of it. Several queries could be "used" as tables - you have just one. In fact, a query can be based only on other queries and not use any table in the db.
A Right join or Left join is an outer join. When Right, all values in the joined field on the right side of the "equation" (the right or 2nd table involved) are included, even if there is no match on the other table. If Left, it is the opposite. Inner means that both sides of the link have to contain the same data or else the non equal records are ignored. Joined fields must contain the same data type, so if you know one side is a number, the other side has to be a number type as well.
So, the order of execution as you inquired, is (more or less) queries that are part of a query (they are nested, not sub-queries) open first. Then the joins are evaluated and the records returned or acted upon as the case may be.
The UPDATE syntax you see is for when the values from a table (or query, right?) provide the values that will be used to update the other table/query. There is another syntax for when the values come from somewhere else, like a form, so don't let that throw you if you see it. This presumes that a query involved can be updated - not all can. I should stop now - getting too deep?
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.