Firstly, drop the third table as it is redundant. The average can be calculated from the second table on the fly. When you get to a few million Reps you might consider using the third table to save time generating the average if you want to consult the data between matches. ;-)
Also drop spaces from field and table names as it saves typing. [Rep ID] is better as RepID.
In your query you will need a join between the RepID fields of the first two tables. In the Query Design, click and drag this field from one table to the other and a line will join them.
This default join will only show Reps listed in both tables. You need a join that shows all Reps. Right click on the line that joins the tables and select Join Properties.
Three choices will appear. You want the one that says:
"Include alll records from Reps and only those from Grades where the joined fields are equal". This will cause your query to result in a blank (known as Null) for those with no errors.
Drag the fields you want to the grid area or choose them from the drop downs.
To show the average, right click on the grid area at the bottom and turn on Totals. This adds another row called Totals. Existing fields will show "Group By".
Drop down the Group By in the Grade field and select average. This will give you one result per Rep with the grade average.